mirror of
https://github.com/plankanban/planka.git
synced 2026-08-29 02:31:29 +08:00
@@ -235,6 +235,58 @@ updateUserAvatar.failure = (id, error) => ({
|
||||
},
|
||||
});
|
||||
|
||||
const createUserApiKey = (id) => ({
|
||||
type: ActionTypes.USER_API_KEY_CREATE,
|
||||
payload: {
|
||||
id,
|
||||
},
|
||||
});
|
||||
|
||||
createUserApiKey.success = (user, apiKey) => ({
|
||||
type: ActionTypes.USER_API_KEY_CREATE__SUCCESS,
|
||||
payload: {
|
||||
user,
|
||||
apiKey,
|
||||
},
|
||||
});
|
||||
|
||||
createUserApiKey.failure = (id, error) => ({
|
||||
type: ActionTypes.USER_API_KEY_CREATE__FAILURE,
|
||||
payload: {
|
||||
id,
|
||||
error,
|
||||
},
|
||||
});
|
||||
|
||||
const deleteUserApiKey = (id) => ({
|
||||
type: ActionTypes.USER_API_KEY_DELETE,
|
||||
payload: {
|
||||
id,
|
||||
},
|
||||
});
|
||||
|
||||
deleteUserApiKey.success = (user) => ({
|
||||
type: ActionTypes.USER_API_KEY_DELETE__SUCCESS,
|
||||
payload: {
|
||||
user,
|
||||
},
|
||||
});
|
||||
|
||||
deleteUserApiKey.failure = (id, error) => ({
|
||||
type: ActionTypes.USER_API_KEY_DELETE__FAILURE,
|
||||
payload: {
|
||||
id,
|
||||
error,
|
||||
},
|
||||
});
|
||||
|
||||
const clearUserApiKeyValue = (id) => ({
|
||||
type: ActionTypes.USER_API_KEY_VALUE_CLEAR,
|
||||
payload: {
|
||||
id,
|
||||
},
|
||||
});
|
||||
|
||||
const deleteUser = (id) => ({
|
||||
type: ActionTypes.USER_DELETE,
|
||||
payload: {
|
||||
@@ -359,6 +411,9 @@ export default {
|
||||
updateUserUsername,
|
||||
clearUserUsernameUpdateError,
|
||||
updateUserAvatar,
|
||||
createUserApiKey,
|
||||
deleteUserApiKey,
|
||||
clearUserApiKeyValue,
|
||||
deleteUser,
|
||||
handleUserDelete,
|
||||
addUserToCard,
|
||||
|
||||
@@ -33,6 +33,9 @@ const updateUserUsername = (id, data, headers) =>
|
||||
|
||||
const updateUserAvatar = (id, data, headers) => http.post(`/users/${id}/avatar`, data, headers);
|
||||
|
||||
const createUserApiKey = (userId, headers) =>
|
||||
socket.post(`/users/${userId}/api-key`, undefined, headers);
|
||||
|
||||
const deleteUser = (id, headers) => socket.delete(`/users/${id}`, undefined, headers);
|
||||
|
||||
export default {
|
||||
@@ -45,5 +48,6 @@ export default {
|
||||
updateUserPassword,
|
||||
updateUserUsername,
|
||||
updateUserAvatar,
|
||||
createUserApiKey,
|
||||
deleteUser,
|
||||
};
|
||||
|
||||
@@ -121,7 +121,7 @@ const ActionsStep = React.memo(({ boardMembershipId, title, onBack, onClose }) =
|
||||
)}
|
||||
{user.organization && (
|
||||
<div className={styles.information}>
|
||||
<Icon name="briefcase" className={styles.informationIcon} />
|
||||
<Icon name="building" className={styles.informationIcon} />
|
||||
{user.organization}
|
||||
</div>
|
||||
)}
|
||||
|
||||
@@ -20,7 +20,7 @@ import styles from './SmtpPane.module.scss';
|
||||
|
||||
const SmtpPane = React.memo(() => {
|
||||
const config = useSelector(selectors.selectConfig);
|
||||
const smtpTest = useSelector(selectors.selectSmtpTest);
|
||||
const smtpTestState = useSelector(selectors.selectSmtpTestState);
|
||||
|
||||
const dispatch = useDispatch();
|
||||
const [t] = useTranslation();
|
||||
@@ -196,14 +196,14 @@ const SmtpPane = React.memo(() => {
|
||||
<Button
|
||||
type="button"
|
||||
content={t('action.sendTestEmail')}
|
||||
loading={smtpTest.isLoading}
|
||||
disabled={smtpTest.isLoading}
|
||||
loading={smtpTestState.isLoading}
|
||||
disabled={smtpTestState.isLoading}
|
||||
onClick={handleTestClick}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</Form>
|
||||
{smtpTest.logs && (
|
||||
{smtpTestState.logs && (
|
||||
<>
|
||||
<Divider horizontal>
|
||||
<Header as="h4">
|
||||
@@ -215,7 +215,7 @@ const SmtpPane = React.memo(() => {
|
||||
<TextArea
|
||||
readOnly
|
||||
as={TextareaAutosize}
|
||||
value={smtpTest.logs.join('\n')}
|
||||
value={smtpTestState.logs.join('\n')}
|
||||
className={styles.testLog}
|
||||
/>
|
||||
</>
|
||||
|
||||
@@ -14,6 +14,7 @@ import selectors from '../../../../selectors';
|
||||
import entryActions from '../../../../entry-actions';
|
||||
import { useSteps } from '../../../../hooks';
|
||||
import SelectRoleStep from './SelectRoleStep';
|
||||
import ApiKeyStep from './ApiKeyStep';
|
||||
import ConfirmationStep from '../../ConfirmationStep';
|
||||
import EditUserInformationStep from '../../../users/EditUserInformationStep';
|
||||
import EditUserUsernameStep from '../../../users/EditUserUsernameStep';
|
||||
@@ -28,6 +29,7 @@ const StepTypes = {
|
||||
EDIT_EMAIL: 'EDIT_EMAIL',
|
||||
EDIT_PASSWORD: 'EDIT_PASSWORD',
|
||||
EDIT_ROLE: 'EDIT_ROLE',
|
||||
API_KEY: 'API_KEY',
|
||||
ACTIVATE: 'ACTIVATE',
|
||||
DEACTIVATE: 'DEACTIVATE',
|
||||
DELETE: 'DELETE',
|
||||
@@ -39,6 +41,7 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
|
||||
const activeUsersLimit = useSelector(selectors.selectActiveUsersLimit);
|
||||
const activeUsersTotal = useSelector(selectors.selectActiveUsersTotal);
|
||||
const user = useSelector((state) => selectUserById(state, userId));
|
||||
const isCurrentUser = useSelector((state) => user.id === selectors.selectCurrentUserId(state));
|
||||
|
||||
const dispatch = useDispatch();
|
||||
const [t] = useTranslation();
|
||||
@@ -99,6 +102,10 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
|
||||
openStep(StepTypes.EDIT_ROLE);
|
||||
}, [openStep]);
|
||||
|
||||
const handleApiKeyClick = useCallback(() => {
|
||||
openStep(StepTypes.API_KEY);
|
||||
}, [openStep]);
|
||||
|
||||
const handleActivateClick = useCallback(() => {
|
||||
openStep(StepTypes.ACTIVATE);
|
||||
}, [openStep]);
|
||||
@@ -133,6 +140,8 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
|
||||
onClose={onClose}
|
||||
/>
|
||||
);
|
||||
case StepTypes.API_KEY:
|
||||
return <ApiKeyStep userId={userId} onBack={handleBack} onClose={onClose} />;
|
||||
case StepTypes.ACTIVATE:
|
||||
return (
|
||||
<ConfirmationStep
|
||||
@@ -209,7 +218,7 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
|
||||
})}
|
||||
</Menu.Item>
|
||||
)}
|
||||
{!user.lockedFieldNames.includes('role') && (
|
||||
{!user.lockedFieldNames.includes('role') && !isCurrentUser && (
|
||||
<Menu.Item className={styles.menuItem} onClick={handleEditRoleClick}>
|
||||
<Icon name="sun outline" className={styles.menuItemIcon} />
|
||||
{t('action.editRole', {
|
||||
@@ -217,31 +226,44 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
|
||||
})}
|
||||
</Menu.Item>
|
||||
)}
|
||||
<Menu.Item
|
||||
disabled={
|
||||
user.isDeactivated &&
|
||||
activeUsersLimit !== null &&
|
||||
activeUsersTotal >= activeUsersLimit
|
||||
}
|
||||
className={styles.menuItem}
|
||||
onClick={user.isDeactivated ? handleActivateClick : handleDeactivateClick}
|
||||
>
|
||||
<Icon name={user.isDeactivated ? 'plus' : 'close'} className={styles.menuItemIcon} />
|
||||
{user.isDeactivated
|
||||
? t('action.activateUser', {
|
||||
context: 'title',
|
||||
})
|
||||
: t('action.deactivateUser', {
|
||||
context: 'title',
|
||||
})}
|
||||
<Menu.Item className={styles.menuItem} onClick={handleApiKeyClick}>
|
||||
<Icon name="key" className={styles.menuItemIcon} />
|
||||
{t('common.apiKey', {
|
||||
context: 'title',
|
||||
})}
|
||||
</Menu.Item>
|
||||
{user.isDeactivated && !user.isDefaultAdmin && (
|
||||
<Menu.Item className={styles.menuItem} onClick={handleDeleteClick}>
|
||||
<Icon name="trash alternate outline" className={styles.menuItemIcon} />
|
||||
{t('action.deleteUser', {
|
||||
context: 'title',
|
||||
})}
|
||||
</Menu.Item>
|
||||
{!isCurrentUser && (
|
||||
<>
|
||||
<Menu.Item
|
||||
disabled={
|
||||
user.isDeactivated &&
|
||||
activeUsersLimit !== null &&
|
||||
activeUsersTotal >= activeUsersLimit
|
||||
}
|
||||
className={styles.menuItem}
|
||||
onClick={user.isDeactivated ? handleActivateClick : handleDeactivateClick}
|
||||
>
|
||||
<Icon
|
||||
name={user.isDeactivated ? 'plus' : 'close'}
|
||||
className={styles.menuItemIcon}
|
||||
/>
|
||||
{user.isDeactivated
|
||||
? t('action.activateUser', {
|
||||
context: 'title',
|
||||
})
|
||||
: t('action.deactivateUser', {
|
||||
context: 'title',
|
||||
})}
|
||||
</Menu.Item>
|
||||
{user.isDeactivated && !user.isDefaultAdmin && (
|
||||
<Menu.Item className={styles.menuItem} onClick={handleDeleteClick}>
|
||||
<Icon name="trash alternate outline" className={styles.menuItemIcon} />
|
||||
{t('action.deleteUser', {
|
||||
context: 'title',
|
||||
})}
|
||||
</Menu.Item>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
</Menu>
|
||||
</Popup.Content>
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
/*!
|
||||
* Copyright (c) 2025 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
import React, { useCallback, useMemo, useState } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { useDispatch, useSelector } from 'react-redux';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Button, Icon, Input, Message } from 'semantic-ui-react';
|
||||
import { Popup } from '../../../../lib/custom-ui';
|
||||
|
||||
import selectors from '../../../../selectors';
|
||||
import entryActions from '../../../../entry-actions';
|
||||
import { useSteps } from '../../../../hooks';
|
||||
import ConfirmationStep from '../../ConfirmationStep';
|
||||
|
||||
import styles from './ApiKeyStep.module.scss';
|
||||
|
||||
const StepTypes = {
|
||||
REGENERATE: 'REGENERATE',
|
||||
DELETE: 'DELETE',
|
||||
};
|
||||
|
||||
const ApiKeyStep = React.memo(({ userId, onBack, onClose }) => {
|
||||
const selectUserById = useMemo(() => selectors.makeSelectUserById(), []);
|
||||
|
||||
const user = useSelector((state) => selectUserById(state, userId));
|
||||
|
||||
const dispatch = useDispatch();
|
||||
const [t] = useTranslation();
|
||||
const [step, openStep, handleBack] = useSteps();
|
||||
const [isCopied, setIsCopied] = useState(false);
|
||||
|
||||
const handleGenerateClick = useCallback(() => {
|
||||
if (user.apiKeyPrefix) {
|
||||
openStep(StepTypes.REGENERATE);
|
||||
} else {
|
||||
dispatch(entryActions.createUserApiKey(userId));
|
||||
}
|
||||
}, [userId, user.apiKeyPrefix, dispatch, openStep]);
|
||||
|
||||
const handleRegenerateConfirm = useCallback(() => {
|
||||
dispatch(entryActions.createUserApiKey(userId));
|
||||
handleBack();
|
||||
}, [userId, dispatch, handleBack]);
|
||||
|
||||
const handleDeleteConfirm = useCallback(() => {
|
||||
dispatch(entryActions.deleteUserApiKey(userId));
|
||||
onClose();
|
||||
}, [userId, onClose, dispatch]);
|
||||
|
||||
const handleDeleteClick = useCallback(() => {
|
||||
openStep(StepTypes.DELETE);
|
||||
}, [openStep]);
|
||||
|
||||
const handleCopyClick = useCallback(() => {
|
||||
if (isCopied) {
|
||||
return;
|
||||
}
|
||||
|
||||
navigator.clipboard.writeText(user.apiKeyState.value);
|
||||
|
||||
setIsCopied(true);
|
||||
setTimeout(() => {
|
||||
setIsCopied(false);
|
||||
}, 1000);
|
||||
}, [user.apiKeyState.value, isCopied]);
|
||||
|
||||
if (step) {
|
||||
switch (step.type) {
|
||||
case StepTypes.REGENERATE:
|
||||
return (
|
||||
<ConfirmationStep
|
||||
title="common.regenerateApiKey"
|
||||
content="common.areYouSureYouWantToRegenerateThisApiKey"
|
||||
buttonContent="action.regenerateApiKey"
|
||||
onConfirm={handleRegenerateConfirm}
|
||||
onBack={handleBack}
|
||||
/>
|
||||
);
|
||||
case StepTypes.DELETE:
|
||||
return (
|
||||
<ConfirmationStep
|
||||
title="common.deleteApiKey"
|
||||
content="common.areYouSureYouWantToDeleteThisApiKey"
|
||||
buttonContent="action.deleteApiKey"
|
||||
onConfirm={handleDeleteConfirm}
|
||||
onBack={handleBack}
|
||||
/>
|
||||
);
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<Popup.Header onBack={onBack}>
|
||||
{t('common.apiKey', {
|
||||
context: 'title',
|
||||
})}
|
||||
</Popup.Header>
|
||||
<Popup.Content>
|
||||
{user.apiKeyPrefix ? (
|
||||
<>
|
||||
{!user.apiKeyState.isCreating &&
|
||||
(user.apiKeyState.value ? (
|
||||
<>
|
||||
<Message
|
||||
positive
|
||||
header={t('common.apiKeyCreated', {
|
||||
context: 'title',
|
||||
})}
|
||||
content={t('common.saveThisKeyItWillNotBeShownAgain')}
|
||||
/>
|
||||
<div className={styles.valueWrapper}>
|
||||
<Input fluid readOnly value={user.apiKeyState.value} className={styles.value} />
|
||||
<Button className={styles.copyButton} onClick={handleCopyClick}>
|
||||
<Icon fitted name={isCopied ? 'check' : 'copy'} />
|
||||
</Button>
|
||||
</div>
|
||||
</>
|
||||
) : (
|
||||
<Message
|
||||
warning
|
||||
header={`${user.apiKeyPrefix}_...`}
|
||||
content={t('common.fullKeyIsHiddenForSecurityReasons')}
|
||||
/>
|
||||
))}
|
||||
<Button
|
||||
fluid
|
||||
content={t('action.regenerateApiKey')}
|
||||
loading={user.apiKeyState.isCreating}
|
||||
disabled={user.apiKeyState.isCreating}
|
||||
className={styles.actionButton}
|
||||
onClick={handleGenerateClick}
|
||||
/>
|
||||
<Button
|
||||
fluid
|
||||
content={t('action.deleteApiKey')}
|
||||
className={styles.actionButton}
|
||||
onClick={handleDeleteClick}
|
||||
/>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<div className={styles.content}>{t('common.noApiKeyCreated')}</div>
|
||||
<Button
|
||||
fluid
|
||||
positive
|
||||
content={t('action.createApiKey')}
|
||||
loading={user.apiKeyState.isCreating}
|
||||
disabled={user.apiKeyState.isCreating}
|
||||
onClick={handleGenerateClick}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
</Popup.Content>
|
||||
</>
|
||||
);
|
||||
});
|
||||
|
||||
ApiKeyStep.propTypes = {
|
||||
userId: PropTypes.string.isRequired,
|
||||
onBack: PropTypes.func.isRequired,
|
||||
onClose: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
export default ApiKeyStep;
|
||||
@@ -0,0 +1,65 @@
|
||||
/*!
|
||||
* Copyright (c) 2024 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
:global(#app) {
|
||||
.actionButton {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
color: #6b808c;
|
||||
font-weight: normal;
|
||||
margin-top: 8px;
|
||||
padding: 6px 11px;
|
||||
text-align: left;
|
||||
text-decoration: underline;
|
||||
transition: background 0.3s ease;
|
||||
|
||||
&:hover {
|
||||
background: #e9e9e9;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.copyButton {
|
||||
background: #ebeef0;
|
||||
box-shadow: none;
|
||||
border-radius: 3px;
|
||||
box-sizing: content-box;
|
||||
color: #516b7a;
|
||||
display: none;
|
||||
height: 30px;
|
||||
margin: 0;
|
||||
min-height: auto;
|
||||
outline: none;
|
||||
padding: 4px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
transition: background 85ms ease;
|
||||
width: 20px;
|
||||
|
||||
&:hover {
|
||||
background: #dfe3e6;
|
||||
color: #4c4c4c;
|
||||
}
|
||||
}
|
||||
|
||||
.value input {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.valueWrapper {
|
||||
position: relative;
|
||||
|
||||
&:hover:not(:has(input:focus)) {
|
||||
.copyButton {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,11 +6,13 @@
|
||||
import React, { useMemo } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import classNames from 'classnames';
|
||||
import { useSelector } from 'react-redux';
|
||||
import { useDispatch, useSelector } from 'react-redux';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Button, Icon, Table } from 'semantic-ui-react';
|
||||
import { useEventCallback } from '../../../../lib/hooks';
|
||||
|
||||
import selectors from '../../../../selectors';
|
||||
import entryActions from '../../../../entry-actions';
|
||||
import { usePopupInClosableContext } from '../../../../hooks';
|
||||
import { UserRoleIcons } from '../../../../constants/Icons';
|
||||
import ActionsStep from './ActionsStep';
|
||||
@@ -22,21 +24,62 @@ const Item = React.memo(({ id }) => {
|
||||
const selectUserById = useMemo(() => selectors.makeSelectUserById(), []);
|
||||
|
||||
const user = useSelector((state) => selectUserById(state, id));
|
||||
const currentUserId = useSelector(selectors.selectCurrentUserId);
|
||||
|
||||
const dispatch = useDispatch();
|
||||
const [t] = useTranslation();
|
||||
|
||||
const ActionsPopup = usePopupInClosableContext(ActionsStep);
|
||||
const handleActionsPopupClose = useEventCallback(() => {
|
||||
if (user.apiKeyState.value) {
|
||||
dispatch(entryActions.clearUserApiKeyValue(id));
|
||||
}
|
||||
}, [id, user.apiKeyState.value, dispatch]);
|
||||
|
||||
const ActionsPopup = usePopupInClosableContext(ActionsStep, {
|
||||
onClose: handleActionsPopupClose,
|
||||
});
|
||||
|
||||
return (
|
||||
<Table.Row className={classNames(user.isDeactivated && styles.wrapperDeactivated)}>
|
||||
<Table.Row
|
||||
className={classNames(styles.wrapper, user.isDeactivated && styles.wrapperDeactivated)}
|
||||
>
|
||||
<Table.Cell>
|
||||
<UserAvatar id={id} />
|
||||
<div className={styles.user}>
|
||||
<UserAvatar id={id} />
|
||||
<div>
|
||||
{user.name}
|
||||
{user.id === currentUserId && (
|
||||
<div className={styles.note}>{t('common.currentUser')}</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
{user.email}
|
||||
{user.username && <div className={styles.note}>@{user.username}</div>}
|
||||
</Table.Cell>
|
||||
<Table.Cell>
|
||||
{user.phone && (
|
||||
<div className={styles.information}>
|
||||
<Icon name="phone" className={styles.icon} />
|
||||
{user.phone}
|
||||
</div>
|
||||
)}
|
||||
{user.organization && (
|
||||
<div className={styles.information}>
|
||||
<Icon name="building" className={styles.icon} />
|
||||
{user.organization}
|
||||
</div>
|
||||
)}
|
||||
{user.apiKeyPrefix && (
|
||||
<div className={classNames(styles.information, styles.informationApiKey)}>
|
||||
<Icon name="key" className={styles.icon} />
|
||||
{user.apiKeyPrefix}_...
|
||||
</div>
|
||||
)}
|
||||
</Table.Cell>
|
||||
<Table.Cell>{user.name}</Table.Cell>
|
||||
<Table.Cell>{user.username || '-'}</Table.Cell>
|
||||
<Table.Cell>{user.email}</Table.Cell>
|
||||
<Table.Cell className={styles.roleCell}>
|
||||
<Icon name={UserRoleIcons[user.role]} className={styles.roleIcon} />
|
||||
<Icon name={UserRoleIcons[user.role]} className={styles.icon} />
|
||||
{t(`common.${user.role}`)}
|
||||
</Table.Cell>
|
||||
<Table.Cell textAlign="right">
|
||||
|
||||
@@ -9,12 +9,43 @@
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.icon {
|
||||
color: #888888;
|
||||
margin: 0 0.35714286em 0 0;
|
||||
}
|
||||
|
||||
.information {
|
||||
font-size: 13px;
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.informationApiKey {
|
||||
color: #cf513d;
|
||||
|
||||
.icon {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.note {
|
||||
color: #888888;
|
||||
}
|
||||
|
||||
.roleCell {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.roleIcon {
|
||||
margin: 0 0.35714286em 0 0;
|
||||
.user {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
color: #212121;
|
||||
}
|
||||
|
||||
.wrapperDeactivated {
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
/*!
|
||||
* Copyright (c) 2024 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
||||
import { useSelector } from 'react-redux';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
@@ -18,7 +13,7 @@ import styles from './UsersPane.module.scss';
|
||||
|
||||
const UsersPane = React.memo(() => {
|
||||
const activeUsersLimit = useSelector(selectors.selectActiveUsersLimit);
|
||||
const users = useSelector(selectors.selectUsersExceptCurrent);
|
||||
const users = useSelector(selectors.selectUsers);
|
||||
const activeUsersTotal = useSelector(selectors.selectActiveUsersTotal);
|
||||
|
||||
const canAdd = useSelector((state) => {
|
||||
@@ -48,7 +43,9 @@ const UsersPane = React.memo(() => {
|
||||
return (
|
||||
user.email.includes(cleanSearch) ||
|
||||
user.name.toLowerCase().includes(cleanSearch) ||
|
||||
(user.username && user.username.includes(cleanSearch))
|
||||
(user.username && user.username.includes(cleanSearch)) ||
|
||||
(user.organization && user.organization.toLowerCase().includes(cleanSearch)) ||
|
||||
(user.apiKeyPrefix && user.apiKeyPrefix.toLowerCase().includes(cleanSearch))
|
||||
);
|
||||
}),
|
||||
[users, isDeactivatedVisible, cleanSearch],
|
||||
@@ -81,9 +78,8 @@ const UsersPane = React.memo(() => {
|
||||
<Table.Header>
|
||||
<Table.Row>
|
||||
<Table.HeaderCell />
|
||||
<Table.HeaderCell width={4}>{t('common.name')}</Table.HeaderCell>
|
||||
<Table.HeaderCell width={4}>{t('common.username')}</Table.HeaderCell>
|
||||
<Table.HeaderCell width={4}>{t('common.email')}</Table.HeaderCell>
|
||||
<Table.HeaderCell width={4}>{t('common.identity')}</Table.HeaderCell>
|
||||
<Table.HeaderCell width={4}>{t('common.information')}</Table.HeaderCell>
|
||||
<Table.HeaderCell>{t('common.role')}</Table.HeaderCell>
|
||||
<Table.HeaderCell />
|
||||
</Table.Row>
|
||||
@@ -101,7 +97,6 @@ const UsersPane = React.memo(() => {
|
||||
className={styles.toggleDeactivatedButton}
|
||||
onClick={handleToggleDeactivatedClick}
|
||||
/>
|
||||
|
||||
{canAdd && (
|
||||
<AddPopup>
|
||||
<Button
|
||||
|
||||
@@ -42,14 +42,19 @@ const createMessage = (error) => {
|
||||
}
|
||||
};
|
||||
|
||||
const EditUserEmailStep = React.memo(({ id, withPasswordConfirmation, onBack, onClose }) => {
|
||||
const EditUserEmailStep = React.memo(({ id, onBack, onClose }) => {
|
||||
const selectUserById = useMemo(() => selectors.makeSelectUserById(), []);
|
||||
|
||||
const {
|
||||
email,
|
||||
isSsoUser,
|
||||
emailUpdateForm: { data: defaultData, isSubmitting, error },
|
||||
} = useSelector((state) => selectUserById(state, id));
|
||||
|
||||
const withPasswordConfirmation = useSelector(
|
||||
(state) => id === selectors.selectCurrentUserId(state) && !isSsoUser,
|
||||
);
|
||||
|
||||
const dispatch = useDispatch();
|
||||
const [t] = useTranslation();
|
||||
const wasSubmitting = usePrevious(isSubmitting);
|
||||
@@ -199,13 +204,11 @@ const EditUserEmailStep = React.memo(({ id, withPasswordConfirmation, onBack, on
|
||||
|
||||
EditUserEmailStep.propTypes = {
|
||||
id: PropTypes.string.isRequired,
|
||||
withPasswordConfirmation: PropTypes.bool,
|
||||
onBack: PropTypes.func,
|
||||
onClose: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
EditUserEmailStep.defaultProps = {
|
||||
withPasswordConfirmation: false,
|
||||
onBack: undefined,
|
||||
};
|
||||
|
||||
|
||||
@@ -38,14 +38,17 @@ const createMessage = (error) => {
|
||||
}
|
||||
};
|
||||
|
||||
const EditUserPasswordStep = React.memo(({ id, withPasswordConfirmation, onBack, onClose }) => {
|
||||
const EditUserPasswordStep = React.memo(({ id, onBack, onClose }) => {
|
||||
const selectUserById = useMemo(() => selectors.makeSelectUserById(), []);
|
||||
|
||||
const {
|
||||
data: defaultData,
|
||||
isSubmitting,
|
||||
error,
|
||||
} = useSelector((state) => selectUserById(state, id).passwordUpdateForm);
|
||||
isSsoUser,
|
||||
passwordUpdateForm: { data: defaultData, isSubmitting, error },
|
||||
} = useSelector((state) => selectUserById(state, id));
|
||||
|
||||
const withPasswordConfirmation = useSelector(
|
||||
(state) => id === selectors.selectCurrentUserId(state) && !isSsoUser,
|
||||
);
|
||||
|
||||
const dispatch = useDispatch();
|
||||
const [t] = useTranslation();
|
||||
@@ -168,13 +171,11 @@ const EditUserPasswordStep = React.memo(({ id, withPasswordConfirmation, onBack,
|
||||
|
||||
EditUserPasswordStep.propTypes = {
|
||||
id: PropTypes.string.isRequired,
|
||||
withPasswordConfirmation: PropTypes.bool,
|
||||
onBack: PropTypes.func,
|
||||
onClose: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
EditUserPasswordStep.defaultProps = {
|
||||
withPasswordConfirmation: false,
|
||||
onBack: undefined,
|
||||
};
|
||||
|
||||
|
||||
@@ -42,14 +42,19 @@ const createMessage = (error) => {
|
||||
}
|
||||
};
|
||||
|
||||
const EditUserUsernameStep = React.memo(({ id, withPasswordConfirmation, onBack, onClose }) => {
|
||||
const EditUserUsernameStep = React.memo(({ id, onBack, onClose }) => {
|
||||
const selectUserById = useMemo(() => selectors.makeSelectUserById(), []);
|
||||
|
||||
const {
|
||||
username,
|
||||
isSsoUser,
|
||||
usernameUpdateForm: { data: defaultData, isSubmitting, error },
|
||||
} = useSelector((state) => selectUserById(state, id));
|
||||
|
||||
const withPasswordConfirmation = useSelector(
|
||||
(state) => id === selectors.selectCurrentUserId(state) && !isSsoUser,
|
||||
);
|
||||
|
||||
const dispatch = useDispatch();
|
||||
const [t] = useTranslation();
|
||||
const wasSubmitting = usePrevious(isSubmitting);
|
||||
@@ -199,13 +204,11 @@ const EditUserUsernameStep = React.memo(({ id, withPasswordConfirmation, onBack,
|
||||
|
||||
EditUserUsernameStep.propTypes = {
|
||||
id: PropTypes.string.isRequired,
|
||||
withPasswordConfirmation: PropTypes.bool,
|
||||
onBack: PropTypes.func,
|
||||
onClose: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
EditUserUsernameStep.defaultProps = {
|
||||
withPasswordConfirmation: false,
|
||||
onBack: undefined,
|
||||
};
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ const AccountPane = React.memo(() => {
|
||||
</Divider>
|
||||
{isUsernameEditable && (
|
||||
<div className={styles.action}>
|
||||
<EditUserUsernamePopup id={user.id} withPasswordConfirmation={!user.isSsoUser}>
|
||||
<EditUserUsernamePopup id={user.id}>
|
||||
<Button className={styles.actionButton}>
|
||||
{t('action.editUsername', {
|
||||
context: 'title',
|
||||
@@ -91,7 +91,7 @@ const AccountPane = React.memo(() => {
|
||||
)}
|
||||
{isEmailEditable && (
|
||||
<div className={styles.action}>
|
||||
<EditUserEmailPopup id={user.id} withPasswordConfirmation={!user.isSsoUser}>
|
||||
<EditUserEmailPopup id={user.id}>
|
||||
<Button className={styles.actionButton}>
|
||||
{t('action.editEmail', {
|
||||
context: 'title',
|
||||
@@ -102,7 +102,7 @@ const AccountPane = React.memo(() => {
|
||||
)}
|
||||
{isPasswordEditable && (
|
||||
<div className={styles.action}>
|
||||
<EditUserPasswordPopup id={user.id} withPasswordConfirmation={!user.isSsoUser}>
|
||||
<EditUserPasswordPopup id={user.id}>
|
||||
<Button className={styles.actionButton}>
|
||||
{t('action.editPassword', {
|
||||
context: 'title',
|
||||
|
||||
@@ -102,6 +102,13 @@ export default {
|
||||
USER_AVATAR_UPDATE: 'USER_AVATAR_UPDATE',
|
||||
USER_AVATAR_UPDATE__SUCCESS: 'USER_AVATAR_UPDATE__SUCCESS',
|
||||
USER_AVATAR_UPDATE__FAILURE: 'USER_AVATAR_UPDATE__FAILURE',
|
||||
USER_API_KEY_CREATE: 'USER_API_KEY_CREATE',
|
||||
USER_API_KEY_CREATE__SUCCESS: 'USER_API_KEY_CREATE__SUCCESS',
|
||||
USER_API_KEY_CREATE__FAILURE: 'USER_API_KEY_CREATE__FAILURE',
|
||||
USER_API_KEY_DELETE: 'USER_API_KEY_DELETE',
|
||||
USER_API_KEY_DELETE__SUCCESS: 'USER_API_KEY_DELETE__SUCCESS',
|
||||
USER_API_KEY_DELETE__FAILURE: 'USER_API_KEY_DELETE__FAILURE',
|
||||
USER_API_KEY_VALUE_CLEAR: 'USER_API_KEY_VALUE_CLEAR',
|
||||
USER_DELETE: 'USER_DELETE',
|
||||
USER_DELETE__SUCCESS: 'USER_DELETE__SUCCESS',
|
||||
USER_DELETE__FAILURE: 'USER_DELETE__FAILURE',
|
||||
|
||||
@@ -71,6 +71,9 @@ export default {
|
||||
USER_USERNAME_UPDATE_ERROR_CLEAR: `${PREFIX}/USER_USERNAME_UPDATE_ERROR_CLEAR`,
|
||||
CURRENT_USER_USERNAME_UPDATE_ERROR_CLEAR: `${PREFIX}/CURRENT_USER_USERNAME_UPDATE_ERROR_CLEAR`,
|
||||
CURRENT_USER_AVATAR_UPDATE: `${PREFIX}/CURRENT_USER_AVATAR_UPDATE`,
|
||||
USER_API_KEY_CREATE: `${PREFIX}/USER_API_KEY_CREATE`,
|
||||
USER_API_KEY_DELETE: `${PREFIX}/USER_API_KEY_DELETE`,
|
||||
USER_API_KEY_VALUE_CLEAR: `${PREFIX}/USER_API_KEY_VALUE_CLEAR`,
|
||||
USER_DELETE: `${PREFIX}/USER_DELETE`,
|
||||
USER_DELETE_HANDLE: `${PREFIX}/USER_DELETE_HANDLE`,
|
||||
USER_TO_CARD_ADD: `${PREFIX}/USER_TO_CARD_ADD`,
|
||||
|
||||
@@ -141,6 +141,27 @@ const updateCurrentUserAvatar = (data) => ({
|
||||
},
|
||||
});
|
||||
|
||||
const createUserApiKey = (id) => ({
|
||||
type: EntryActionTypes.USER_API_KEY_CREATE,
|
||||
payload: {
|
||||
id,
|
||||
},
|
||||
});
|
||||
|
||||
const deleteUserApiKey = (id) => ({
|
||||
type: EntryActionTypes.USER_API_KEY_DELETE,
|
||||
payload: {
|
||||
id,
|
||||
},
|
||||
});
|
||||
|
||||
const clearUserApiKeyValue = (id) => ({
|
||||
type: EntryActionTypes.USER_API_KEY_VALUE_CLEAR,
|
||||
payload: {
|
||||
id,
|
||||
},
|
||||
});
|
||||
|
||||
const deleteUser = (id) => ({
|
||||
type: EntryActionTypes.USER_DELETE,
|
||||
payload: {
|
||||
@@ -245,6 +266,9 @@ export default {
|
||||
clearUserUsernameUpdateError,
|
||||
clearCurrentUserUsernameUpdateError,
|
||||
updateCurrentUserAvatar,
|
||||
createUserApiKey,
|
||||
deleteUserApiKey,
|
||||
clearUserApiKeyValue,
|
||||
deleteUser,
|
||||
handleUserDelete,
|
||||
addUserToCard,
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'سيتم حفظ جميع التغييرات تلقائياً<br />بعد استعادة الإتصال.',
|
||||
alphabetically: 'أبجدياً',
|
||||
alwaysDisplayCardCreator: 'عرض منشئ البطاقة دائماً',
|
||||
apiKeyCreated_title: 'تم إنشاء مفتاح API',
|
||||
apiKey_title: 'مفتاح API',
|
||||
archive: 'أرشيف',
|
||||
archiveCard_title: 'أرشفة البطاقة',
|
||||
archiveCards_title: 'أرشفة البطاقات',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'هل أنت متأكد أنك تريد تعيين مدير المشروع هذا كمالك؟',
|
||||
areYouSureYouWantToDeactivateThisUser: 'هل أنت متأكد أنك تريد إلغاء تفعيل هذا المستخدم؟',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'هل أنت متأكد أنك تريد حذف مفتاح API هذا؟',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'هل أنت متأكد أنك تريد حذف هذا المرفق؟',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage: 'هل أنت متأكد أنك تريد حذف صورة الخلفية هذه؟',
|
||||
areYouSureYouWantToDeleteThisBoard: 'هل أنت متأكد أنك تريد حذف هذه اللوحة؟',
|
||||
@@ -73,6 +76,8 @@ export default {
|
||||
areYouSureYouWantToLeaveProject: 'هل أنت متأكد أنك تريد مغادرة المشروع؟',
|
||||
areYouSureYouWantToMakeThisProjectPrivate: 'هل أنت متأكد أنك تريد جعل هذا المشروع خاصاً؟',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'هل أنت متأكد أنك تريد مشاركة هذا المشروع؟',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'هل أنت متأكد أنك تريد إعادة إنشاء مفتاح API هذا؟ لن يعمل المفتاح السابق بعد الآن.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'هل أنت متأكد أنك تريد إزالة هذا المدير من المشروع؟',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -125,6 +130,7 @@ export default {
|
||||
createTextFile_title: 'إنشاء ملف نصي',
|
||||
creator: 'المنشئ',
|
||||
currentPassword: 'كلمة المرور الحالية',
|
||||
currentUser: 'المستخدم الحالي',
|
||||
customFieldGroup_title: 'مجموعة الحقل المخصص',
|
||||
customFieldGroups_title: 'مجموعات الحقول المخصصة',
|
||||
customField_title: 'الحقل المخصص',
|
||||
@@ -136,6 +142,7 @@ export default {
|
||||
defaultFrom: 'افتراضي من',
|
||||
defaultView_title: 'العرض الافتراضي',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject: 'احذف جميع اللوحات لتتمكن من حذف هذا المشروع',
|
||||
deleteApiKey_title: 'حذف مفتاح API',
|
||||
deleteAttachment_title: 'حذف المرفق',
|
||||
deleteBackgroundImage_title: 'حذف صورة الخلفية',
|
||||
deleteBoard_title: 'حذف اللوحة',
|
||||
@@ -191,6 +198,8 @@ export default {
|
||||
forTeamBasedProjects: 'للمشاريع الجماعية.',
|
||||
fromComputer_title: 'من الكمبيوتر',
|
||||
fromTrello: 'من Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'المفتاح الكامل مخفي لأسباب أمنية. قم بإعادة إنشائه لإنشاء واحد جديد.',
|
||||
general: 'عام',
|
||||
gradients: 'التدرجات',
|
||||
grid: 'الشبكة',
|
||||
@@ -198,7 +207,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'إخفاء من قائمة المشاريع والمفضلة',
|
||||
host: 'المضيف',
|
||||
hours: 'ساعات',
|
||||
identity: 'الهوية',
|
||||
importBoard_title: 'استيراد اللوحة',
|
||||
information: 'المعلومات',
|
||||
invalidCurrentPassword: 'كلمة المرور الحالية غير صالحة',
|
||||
kanban: 'كانبان',
|
||||
labels: 'الملصقات',
|
||||
@@ -227,6 +238,7 @@ export default {
|
||||
newUsername: 'مستخدم جديد',
|
||||
newVersionAvailable: 'إصدار جديد متاح',
|
||||
newestFirst: 'الأحدث أولاً',
|
||||
noApiKeyCreated: 'لم يتم إنشاء مفتاح API.',
|
||||
noBoards: 'لا توجد لوحات',
|
||||
noCardsFound: 'لم يتم العثور على بطاقات.',
|
||||
noConnectionToServer: 'لا يوجد اتصال بالخادم',
|
||||
@@ -254,10 +266,12 @@ export default {
|
||||
projectNotFound_title: 'المشروع غير موجود',
|
||||
projectOwner: 'مالك المشروع',
|
||||
referenceDataAndKnowledgeStorage: 'تخزين البيانات المرجعية والمعرفة.',
|
||||
regenerateApiKey_title: 'إعادة إنشاء مفتاح API',
|
||||
rejectUnauthorizedTlsCertificates: 'رفض شهادات TLS غير المصرح بها',
|
||||
removeManager_title: 'إزالة المدير',
|
||||
removeMember_title: 'إزالة العضو',
|
||||
role: 'الدور',
|
||||
saveThisKeyItWillNotBeShownAgain: 'احفظ هذا المفتاح — لن يتم عرضه مرة أخرى!',
|
||||
searchCards: 'البحث عن البطاقات...',
|
||||
searchCustomFieldGroups: 'البحث عن مجموعات الحقول المخصصة...',
|
||||
searchCustomFields: 'البحث عن الحقول المخصصة...',
|
||||
@@ -369,6 +383,7 @@ export default {
|
||||
archiveCards_title: 'أرشفة البطاقات',
|
||||
assignAsOwner: 'تعيين كمالك',
|
||||
cancel: 'إلغاء',
|
||||
createApiKey: 'إنشاء مفتاح API',
|
||||
createBoard: 'إنشاء لوحة',
|
||||
createCustomFieldGroup: 'إنشاء مجموعة حقل مخصص',
|
||||
createFile: 'إنشاء ملف',
|
||||
@@ -378,6 +393,7 @@ export default {
|
||||
deactivateUser: 'إلغاء تفعيل المستخدم',
|
||||
deactivateUser_title: 'إلغاء تفعيل المستخدم',
|
||||
delete: 'حذف',
|
||||
deleteApiKey: 'حذف مفتاح API',
|
||||
deleteAttachment: 'حذف المرفق',
|
||||
deleteAvatar: 'حذف الصورة الرمزية',
|
||||
deleteBackgroundImage: 'حذف صورة الخلفية',
|
||||
@@ -436,6 +452,7 @@ export default {
|
||||
move: 'نقل',
|
||||
moveCard_title: 'نقل البطاقة',
|
||||
moveList_title: 'نقل القائمة',
|
||||
regenerateApiKey: 'إعادة إنشاء مفتاح API',
|
||||
remove: 'حذف',
|
||||
removeAssignee: 'إزالة المكلف',
|
||||
removeColor: 'إزالة اللون',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Всички промени ще бъдат автоматично запазени<br />след възстановяване на връзката.',
|
||||
alphabetically: 'По азбучен ред',
|
||||
alwaysDisplayCardCreator: 'Винаги показвай създателя на картата',
|
||||
apiKeyCreated_title: 'API ключ създаден',
|
||||
apiKey_title: 'API ключ',
|
||||
archive: 'Архив',
|
||||
archiveCard_title: 'Архивиране на карта',
|
||||
archiveCards_title: 'Архивиране на карти',
|
||||
@@ -51,6 +53,7 @@ export default {
|
||||
'Сигурни ли сте, че искате да назначите този мениджър на проекта като собственик?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Сигурни ли сте, че искате да деактивирате този потребител?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Сигурни ли сте, че искате да изтриете този API ключ?',
|
||||
areYouSureYouWantToDeleteThisAttachment:
|
||||
'Сигурни ли сте, че искате да изтриете този прикачен файл?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
@@ -82,6 +85,8 @@ export default {
|
||||
'Сигурни ли сте, че искате да направите този проект частен?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Сигурни ли сте, че искате да споделите този проект?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Сигурни ли сте, че искате да регенерирате този API ключ? Предишният ключ няма да работи повече.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Сигурни ли сте, че искате да премахнете този мениджър от проекта?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -136,6 +141,7 @@ export default {
|
||||
createTextFile_title: 'Създаване на текстов файл',
|
||||
creator: 'Създател',
|
||||
currentPassword: 'Текуща парола',
|
||||
currentUser: 'Текущ потребител',
|
||||
customFieldGroup_title: 'Група персонализирани полета',
|
||||
customFieldGroups_title: 'Групи персонализирани полета',
|
||||
customField_title: 'Персонализирано поле',
|
||||
@@ -148,6 +154,7 @@ export default {
|
||||
defaultView_title: 'Изглед по подразбиране',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Изтрийте всички табла, за да можете да изтриете този проект',
|
||||
deleteApiKey_title: 'Изтриване на API ключ',
|
||||
deleteAttachment_title: 'Изтриване на прикачен файл',
|
||||
deleteBackgroundImage_title: 'Изтриване на фоново изображение',
|
||||
deleteBoard_title: 'Изтриване на табло',
|
||||
@@ -203,6 +210,8 @@ export default {
|
||||
forTeamBasedProjects: 'За екипни проекти.',
|
||||
fromComputer_title: 'От компютър',
|
||||
fromTrello: 'От Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Пълният ключ е скрит от съображения за сигурност. Регенерирайте го, за да създадете нов.',
|
||||
general: 'Общ',
|
||||
gradients: 'Градиенти',
|
||||
grid: 'Мрежа',
|
||||
@@ -210,7 +219,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Скриване от списъка с проекти и любими',
|
||||
host: 'Хост',
|
||||
hours: 'Часове',
|
||||
identity: 'Самоличност',
|
||||
importBoard_title: 'Импортиране на табло',
|
||||
information: 'Информация',
|
||||
invalidCurrentPassword: 'Невалидна текуща парола',
|
||||
kanban: 'Канбан',
|
||||
labels: 'Етикети',
|
||||
@@ -239,6 +250,7 @@ export default {
|
||||
newUsername: 'Ново потребителско име',
|
||||
newVersionAvailable: 'Налична е нова версия',
|
||||
newestFirst: 'Първо най-новите',
|
||||
noApiKeyCreated: 'Няма създаден API ключ.',
|
||||
noBoards: 'Няма табла',
|
||||
noCardsFound: 'Не са намерени карти.',
|
||||
noConnectionToServer: 'Няма връзка със сървъра',
|
||||
@@ -266,10 +278,12 @@ export default {
|
||||
projectNotFound_title: 'Проектът не е намерен',
|
||||
projectOwner: 'Собственик на проект',
|
||||
referenceDataAndKnowledgeStorage: 'Съхранение на референтни данни и знания.',
|
||||
regenerateApiKey_title: 'Регенериране на API ключ',
|
||||
rejectUnauthorizedTlsCertificates: 'Отхвърляне на неоторизирани TLS сертификати',
|
||||
removeManager_title: 'Премахване на мениджър',
|
||||
removeMember_title: 'Премахване на член',
|
||||
role: 'Роля',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Запазете този ключ — няма да бъде показан отново!',
|
||||
searchCards: 'Търсене на карти...',
|
||||
searchCustomFieldGroups: 'Търсене на групи персонализирани полета...',
|
||||
searchCustomFields: 'Търсене на персонализирани полета...',
|
||||
@@ -383,6 +397,7 @@ export default {
|
||||
archiveCards_title: 'Архивиране на карти',
|
||||
assignAsOwner: 'Назначаване като собственик',
|
||||
cancel: 'Отказ',
|
||||
createApiKey: 'Създаване на API ключ',
|
||||
createBoard: 'Създаване на табло',
|
||||
createCustomFieldGroup: 'Създаване на група персонализирани полета',
|
||||
createFile: 'Създаване на файл',
|
||||
@@ -392,6 +407,7 @@ export default {
|
||||
deactivateUser: 'Деактивиране на потребител',
|
||||
deactivateUser_title: 'Деактивиране на потребител',
|
||||
delete: 'Изтриване',
|
||||
deleteApiKey: 'Изтриване на API ключ',
|
||||
deleteAttachment: 'Изтриване на прикачения файл',
|
||||
deleteAvatar: 'Изтриване на аватар',
|
||||
deleteBackgroundImage: 'Изтриване на фоново изображение',
|
||||
@@ -450,6 +466,7 @@ export default {
|
||||
move: 'Преместване',
|
||||
moveCard_title: 'Преместване на карта',
|
||||
moveList_title: 'Преместване на списък',
|
||||
regenerateApiKey: 'Регенериране на API ключ',
|
||||
remove: 'Премахване',
|
||||
removeAssignee: 'Премахване на изпълнител',
|
||||
removeColor: 'Премахване на цвят',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Všechny změny budou automaticky uloženy<br />po obnovení spojení.',
|
||||
alphabetically: 'Abecedně',
|
||||
alwaysDisplayCardCreator: 'Vždy zobrazit tvůrce karty',
|
||||
apiKeyCreated_title: 'API klíč vytvořen',
|
||||
apiKey_title: 'API klíč',
|
||||
archive: 'Archivovat',
|
||||
archiveCard_title: 'Archivovat kartu',
|
||||
archiveCards_title: 'Archiv karet',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Opravdu chcete tohoto správce přiřadit jako vlastníka?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Opravdu chcete deaktivovat tohoto uživatele?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Opravdu chcete smazat tento API klíč?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Opravdu chcete smazat tuto přílohu?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Opravdu chcete tento obrázek na pozadí odstranit?',
|
||||
@@ -75,6 +78,8 @@ export default {
|
||||
areYouSureYouWantToMakeThisProjectPrivate:
|
||||
'Opravdu chcete tento projekt nastavit jako soukromý?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Opravdu chcete tento projekt sdílet?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Opravdu chcete znovu vygenerovat tento API klíč? Předchozí klíč již nebude fungovat.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Opravdu chcete tohoto správce z projektu odebrat?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -127,6 +132,7 @@ export default {
|
||||
createTextFile_title: 'Vytvořit textový soubor',
|
||||
creator: 'Tvůrce',
|
||||
currentPassword: 'Aktuální heslo',
|
||||
currentUser: 'Aktuální uživatel',
|
||||
customFieldGroup_title: 'Skupina vlastního pole',
|
||||
customFieldGroups_title: 'Skupina vlastních polí',
|
||||
customField_title: 'Vlastní pole',
|
||||
@@ -139,6 +145,7 @@ export default {
|
||||
defaultView_title: 'Výchozí zobrazení',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Pro smazání tohoto projektu je třeba nejprve smazat všechny nástěnky',
|
||||
deleteApiKey_title: 'Smazat API klíč',
|
||||
deleteAttachment_title: 'Smazat přílohu',
|
||||
deleteBackgroundImage_title: 'Smazat obrázek pozadí',
|
||||
deleteBoard_title: 'Smazat nástěnku',
|
||||
@@ -194,6 +201,8 @@ export default {
|
||||
forTeamBasedProjects: 'Pro týmové projekty.',
|
||||
fromComputer_title: 'Z počítače',
|
||||
fromTrello: 'Z Trella',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Celý klíč je z bezpečnostních důvodů skrytý. Vygenerujte ho znovu pro vytvoření nového.',
|
||||
general: 'Obecné',
|
||||
gradients: 'Přechody',
|
||||
grid: 'Mřížka',
|
||||
@@ -201,7 +210,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Skrýt ze seznamu projektů a oblíbených položek',
|
||||
host: 'Host',
|
||||
hours: 'Hodiny',
|
||||
identity: 'Identita',
|
||||
importBoard_title: 'Importovat nástěnku',
|
||||
information: 'Informace',
|
||||
invalidCurrentPassword: 'Neplatné aktuální heslo',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Štítky',
|
||||
@@ -230,6 +241,7 @@ export default {
|
||||
newUsername: 'Nové uživatelské jméno',
|
||||
newVersionAvailable: 'Nová verze je k dispozici',
|
||||
newestFirst: 'Nejnovější',
|
||||
noApiKeyCreated: 'Nebyl vytvořen žádný API klíč.',
|
||||
noBoards: 'Žádné nástěnky',
|
||||
noCardsFound: 'Nebyly nalezeny žádné karty.',
|
||||
noConnectionToServer: 'Není spojení k serveru',
|
||||
@@ -257,10 +269,12 @@ export default {
|
||||
projectNotFound_title: 'Projekt nenalezen',
|
||||
projectOwner: 'Vlastník projektu',
|
||||
referenceDataAndKnowledgeStorage: 'Uchovávání referenčních údajů a znalostí.',
|
||||
regenerateApiKey_title: 'Znovu vygenerovat API klíč',
|
||||
rejectUnauthorizedTlsCertificates: 'Odmítnout neautorizované TLS certifikáty',
|
||||
removeManager_title: 'Odstranit správce',
|
||||
removeMember_title: 'Odstranit člena',
|
||||
role: 'Role',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Uložte si tento klíč — již nebude znovu zobrazen!',
|
||||
searchCards: 'Hledat karty...',
|
||||
searchCustomFieldGroups: 'Hledat skupiny vlastních polí...',
|
||||
searchCustomFields: 'Hledat vlastní pole...',
|
||||
@@ -373,6 +387,7 @@ export default {
|
||||
archiveCards_title: 'Archiv karet',
|
||||
assignAsOwner: 'Přiřadit jako vlastníka',
|
||||
cancel: 'Zrušit',
|
||||
createApiKey: 'Vytvořit API klíč',
|
||||
createBoard: 'Vytvořit nástěnku',
|
||||
createCustomFieldGroup: 'Vytvořit vlastní skupinu polí',
|
||||
createFile: 'Vytvořit soubor',
|
||||
@@ -382,6 +397,7 @@ export default {
|
||||
deactivateUser: 'Deaktivace uživatele',
|
||||
deactivateUser_title: 'Deaktivace uživatele',
|
||||
delete: 'Smazat',
|
||||
deleteApiKey: 'Smazat API klíč',
|
||||
deleteAttachment: 'Smazat přílohu',
|
||||
deleteAvatar: 'Smazat avatar',
|
||||
deleteBackgroundImage: 'Smazat obrázek pozadí',
|
||||
@@ -440,6 +456,7 @@ export default {
|
||||
move: 'Přesunout',
|
||||
moveCard_title: 'Přesunout kartu',
|
||||
moveList_title: 'Přesunout seznam',
|
||||
regenerateApiKey: 'Znovu vygenerovat API klíč',
|
||||
remove: 'Odstranit',
|
||||
removeAssignee: 'Odstranit přiřazení',
|
||||
removeColor: 'Smazat barvu',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Alle ændringer vil automatisk blive gemt<br />ved genoprettelse af forbindelsen.',
|
||||
alphabetically: 'Alfabetisk',
|
||||
alwaysDisplayCardCreator: 'Vis altid kortets skaber',
|
||||
apiKeyCreated_title: 'API-nøgle oprettet',
|
||||
apiKey_title: 'API-nøgle',
|
||||
archive: 'Arkiv',
|
||||
archiveCard_title: 'Arkiver kort',
|
||||
archiveCards_title: 'Arkiver kort',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Er du sikker på, at du vil sætte denne projektleder som ejer?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Er du sikker på, at du vil deaktivere denne bruger?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Er du sikker på, at du vil slette denne API-nøgle?',
|
||||
areYouSureYouWantToDeleteThisAttachment:
|
||||
'Er du sikker på at du vil slette denne vedhæftede fil?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
@@ -78,6 +81,8 @@ export default {
|
||||
areYouSureYouWantToMakeThisProjectPrivate:
|
||||
'Er du sikker på at du vil gøre dette projekt privat?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Er du sikker på at du vil dele dette projekt?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Er du sikker på, at du vil regenerere denne API-nøgle? Den forrige nøgle vil ikke længere virke.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Er du sikker på at du vil fjerne denne projektleder fra projektet?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -131,6 +136,7 @@ export default {
|
||||
createTextFile_title: 'Opret tekstfil',
|
||||
creator: 'Skaber',
|
||||
currentPassword: 'Nuværende adgangskode',
|
||||
currentUser: 'Nuværende bruger',
|
||||
customFieldGroup_title: 'Brugerdefineret feltgruppe',
|
||||
customFieldGroups_title: 'Brugerdefinerede feltgrupper',
|
||||
customField_title: 'Brugerdefineret felt',
|
||||
@@ -143,6 +149,7 @@ export default {
|
||||
defaultView_title: 'Standard visning',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Slet alle tavler for at kunne slette dette projekt.',
|
||||
deleteApiKey_title: 'Slet API-nøgle',
|
||||
deleteAttachment_title: 'Slet vedhæftning',
|
||||
deleteBackgroundImage_title: 'Slet baggrundsbillede',
|
||||
deleteBoard_title: 'Slet tavle',
|
||||
@@ -198,6 +205,8 @@ export default {
|
||||
forTeamBasedProjects: 'For team-baserede projekter.',
|
||||
fromComputer_title: 'Fra computer',
|
||||
fromTrello: 'Fra Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Den fulde nøgle er skjult af sikkerhedsmæssige årsager. Regenerer den for at oprette en ny.',
|
||||
general: 'Generelt',
|
||||
gradients: 'Gradienter',
|
||||
grid: 'Gitter',
|
||||
@@ -205,7 +214,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Skjul fra projektliste og favoritter',
|
||||
host: 'Vært',
|
||||
hours: 'Timer',
|
||||
identity: 'Identitet',
|
||||
importBoard_title: 'Importer tavle',
|
||||
information: 'Information',
|
||||
invalidCurrentPassword: 'Nuværende adgangskode er ugyldig',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Labels',
|
||||
@@ -234,6 +245,7 @@ export default {
|
||||
newUsername: 'Nyt brugernavn',
|
||||
newVersionAvailable: 'Ny version tilgængelig',
|
||||
newestFirst: 'Nyeste først',
|
||||
noApiKeyCreated: 'Ingen API-nøgle oprettet.',
|
||||
noBoards: 'Ingen tavler',
|
||||
noCardsFound: 'Ingen kort fundet.',
|
||||
noConnectionToServer: 'Ingen forbindelse til serveren',
|
||||
@@ -261,10 +273,12 @@ export default {
|
||||
projectNotFound_title: 'Projekt ikke fundet',
|
||||
projectOwner: 'Projektejer',
|
||||
referenceDataAndKnowledgeStorage: 'Reference data og vidensopbevaring.',
|
||||
regenerateApiKey_title: 'Regenerer API-nøgle',
|
||||
rejectUnauthorizedTlsCertificates: 'Afvis uautoriserede TLS-certifikater',
|
||||
removeManager_title: 'Fjern projektleder',
|
||||
removeMember_title: 'Fjern medlem',
|
||||
role: 'Rolle',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Gem denne nøgle — den vises ikke igen!',
|
||||
searchCards: 'Søg efter kort...',
|
||||
searchCustomFieldGroups: 'Søg efter brugerdefinerede feltgrupper...',
|
||||
searchCustomFields: 'Søg efter brugerdefinerede felter...',
|
||||
@@ -378,6 +392,7 @@ export default {
|
||||
archiveCards_title: 'Arkivér kort',
|
||||
assignAsOwner: 'Sæt som ejer',
|
||||
cancel: 'Annuller',
|
||||
createApiKey: 'Opret API-nøgle',
|
||||
createBoard: 'Opret tavle',
|
||||
createCustomFieldGroup: 'Opret brugerdefineret feltgruppe',
|
||||
createFile: 'Opret fil',
|
||||
@@ -387,6 +402,7 @@ export default {
|
||||
deactivateUser: 'Deaktivér bruger',
|
||||
deactivateUser_title: 'Deaktivér bruger',
|
||||
delete: 'Slet',
|
||||
deleteApiKey: 'Slet API-nøgle',
|
||||
deleteAttachment: 'Slet vedhæftning',
|
||||
deleteAvatar: 'Slet profilbillede',
|
||||
deleteBackgroundImage: 'Slet baggrundsbillede',
|
||||
@@ -445,6 +461,7 @@ export default {
|
||||
move: 'Flyt',
|
||||
moveCard_title: 'Flyt kort',
|
||||
moveList_title: 'Flyt liste',
|
||||
regenerateApiKey: 'Regenerer API-nøgle',
|
||||
remove: 'Fjern',
|
||||
removeAssignee: 'Fjern ansvarlig',
|
||||
removeColor: 'Fjern farve',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Alle Änderungen werden automatisch gespeichert, sobald die Verbindung wiederhergestellt wurde.',
|
||||
alphabetically: 'Alphabetisch',
|
||||
alwaysDisplayCardCreator: 'Kartenersteller immer anzeigen',
|
||||
apiKeyCreated_title: 'API-Schlüssel erstellt',
|
||||
apiKey_title: 'API-Schlüssel',
|
||||
archive: 'Archiv',
|
||||
archiveCard_title: 'Karte archivieren',
|
||||
archiveCards_title: 'Karten archivieren',
|
||||
@@ -53,6 +55,8 @@ export default {
|
||||
'Sind Sie sicher, dass Sie diesen Projektleiter als Eigentümer festlegen möchten?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Sind Sie sicher, dass Sie diesen Benutzer deaktivieren möchten?',
|
||||
areYouSureYouWantToDeleteThisApiKey:
|
||||
'Sind Sie sicher, dass Sie diesen API-Schlüssel löschen möchten?',
|
||||
areYouSureYouWantToDeleteThisAttachment:
|
||||
'Sind Sie sicher, dass Sie diesen Anhang löschen möchten?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
@@ -90,6 +94,8 @@ export default {
|
||||
'Sind Sie sicher, dass Sie dieses Projekt privat machen möchten?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Sind Sie sicher, dass Sie dieses Projekt freigeben möchten?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Sind Sie sicher, dass Sie diesen API-Schlüssel neu generieren möchten? Der vorherige Schlüssel wird nicht mehr funktionieren.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Sind Sie sicher, dass Sie diesen Projektleiter aus dem Projekt entfernen möchten?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -145,6 +151,7 @@ export default {
|
||||
createTextFile_title: 'Textdatei erstellen',
|
||||
creator: 'Ersteller',
|
||||
currentPassword: 'Derzeitiges Passwort',
|
||||
currentUser: 'Aktueller Benutzer',
|
||||
customFieldGroup_title: 'Feldgruppe',
|
||||
customFieldGroups_title: 'Benutzerdefinierte Feldgruppen',
|
||||
customField_title: 'Feldgruppe',
|
||||
@@ -157,6 +164,7 @@ export default {
|
||||
defaultView_title: 'Standardansicht',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Löschen Sie alle Arbeitsbereiche, um dieses Projekt löschen zu können',
|
||||
deleteApiKey_title: 'API-Schlüssel löschen',
|
||||
deleteAttachment_title: 'Anhang löschen',
|
||||
deleteBackgroundImage_title: 'Hintergrundbild löschen',
|
||||
deleteBoard_title: 'Arbeitsbereich löschen',
|
||||
@@ -212,6 +220,8 @@ export default {
|
||||
forTeamBasedProjects: 'Für teambasierte Projekte.',
|
||||
fromComputer_title: 'Vom Computer',
|
||||
fromTrello: 'Von Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Der vollständige Schlüssel ist aus Sicherheitsgründen verborgen. Generieren Sie ihn neu, um einen neuen zu erstellen.',
|
||||
general: 'Allgemein',
|
||||
gradients: 'Verläufe',
|
||||
grid: 'Raster',
|
||||
@@ -219,7 +229,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Aus Projektliste und Favoriten ausblenden',
|
||||
host: 'Host',
|
||||
hours: 'Stunden',
|
||||
identity: 'Identität',
|
||||
importBoard_title: 'Arbeitsbereich importieren',
|
||||
information: 'Information',
|
||||
invalidCurrentPassword: 'Das aktuelle Passwort ist falsch',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Labels',
|
||||
@@ -248,6 +260,7 @@ export default {
|
||||
newUsername: 'Neuer Benutzername',
|
||||
newVersionAvailable: 'Neue Version verfügbar',
|
||||
newestFirst: 'Neueste zuerst',
|
||||
noApiKeyCreated: 'Kein API-Schlüssel erstellt.',
|
||||
noBoards: 'Keine Arbeitsbereiche',
|
||||
noCardsFound: 'Keine Karten gefunden.',
|
||||
noConnectionToServer: 'Keine Verbindung zum Server',
|
||||
@@ -275,10 +288,13 @@ export default {
|
||||
projectNotFound_title: 'Projekt nicht gefunden',
|
||||
projectOwner: 'Projektleitung',
|
||||
referenceDataAndKnowledgeStorage: 'Speichern von Wissen und Referenzen.',
|
||||
regenerateApiKey_title: 'API-Schlüssel neu generieren',
|
||||
rejectUnauthorizedTlsCertificates: 'Nicht autorisierte TLS-Zertifikate ablehnen',
|
||||
removeManager_title: 'Projektleiter entfernen',
|
||||
removeMember_title: 'Mitglied entfernen',
|
||||
role: 'Rolle',
|
||||
saveThisKeyItWillNotBeShownAgain:
|
||||
'Speichern Sie diesen Schlüssel — er wird nicht erneut angezeigt!',
|
||||
searchCards: 'Karte suchen...',
|
||||
searchCustomFieldGroups: 'Benutzerdefinierte Feldgruppen suchen...',
|
||||
searchCustomFields: 'In Feldgruppen suchen...',
|
||||
@@ -393,6 +409,7 @@ export default {
|
||||
archiveCards_title: 'Karten archivieren',
|
||||
assignAsOwner: 'Als Eigentümer zuweisen',
|
||||
cancel: 'Abbrechen',
|
||||
createApiKey: 'API-Schlüssel erstellen',
|
||||
createBoard: 'Arbeitsbereich erstellen',
|
||||
createCustomFieldGroup: 'Feldgruppe erstellen',
|
||||
createFile: 'Datei erstellen',
|
||||
@@ -402,6 +419,7 @@ export default {
|
||||
deactivateUser: 'Benutzer deaktivieren',
|
||||
deactivateUser_title: 'Benutzer deaktivieren',
|
||||
delete: 'Löschen',
|
||||
deleteApiKey: 'API-Schlüssel löschen',
|
||||
deleteAttachment: 'Anhang löschen',
|
||||
deleteAvatar: 'Avatar löschen',
|
||||
deleteBackgroundImage: 'Hintergrundbild löschen',
|
||||
@@ -460,6 +478,7 @@ export default {
|
||||
move: 'Verschieben',
|
||||
moveCard_title: 'Karte bewegen',
|
||||
moveList_title: 'Liste verschieben',
|
||||
regenerateApiKey: 'API-Schlüssel neu generieren',
|
||||
remove: 'Löschen',
|
||||
removeAssignee: 'Zuständigen entfernen',
|
||||
removeColor: 'Farbe löschen',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Όλες οι αλλαγές θα αποθηκευτούν αυτόματα<br />όταν αποκατασταθεί η σύνδεση.',
|
||||
alphabetically: 'Αλφαβητικά',
|
||||
alwaysDisplayCardCreator: 'Πάντα εμφάνιση δημιουργού κάρτας',
|
||||
apiKeyCreated_title: 'Δημιουργήθηκε κλειδί API',
|
||||
apiKey_title: 'Κλειδί API',
|
||||
archive: 'Αρχειοθέτηση',
|
||||
archiveCard_title: 'Αρχειοθέτηση κάρτας',
|
||||
archiveCards_title: 'Αρχειοθέτηση καρτών',
|
||||
@@ -52,6 +54,8 @@ export default {
|
||||
'Είστε σίγουροι ότι θέλετε να ορίσετε αυτόν τον διαχειριστή έργου ως ιδιοκτήτη;',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Είστε σίγουροι ότι θέλετε να απενεργοποιήσετε αυτόν τον χρήστη;',
|
||||
areYouSureYouWantToDeleteThisApiKey:
|
||||
'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το κλειδί API;',
|
||||
areYouSureYouWantToDeleteThisAttachment:
|
||||
'Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το συνημμένο;',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
@@ -89,6 +93,8 @@ export default {
|
||||
'Είστε σίγουροι ότι θέλετε να κάνετε αυτό το έργο ιδιωτικό;',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Είστε σίγουροι ότι θέλετε να κάνετε αυτό το έργο κοινόχρηστο;',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Είστε βέβαιοι ότι θέλετε να αναδημιουργήσετε αυτό το κλειδί API; Το προηγούμενο κλειδί δεν θα λειτουργεί πλέον.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Είστε σίγουροι ότι θέλετε να αφαιρέσετε αυτόν τον διαχειριστή από το έργο;',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -143,6 +149,7 @@ export default {
|
||||
createTextFile_title: 'Δημιουργία αρχείου κειμένου',
|
||||
creator: 'Δημιουργός',
|
||||
currentPassword: 'Τρέχων κωδικός',
|
||||
currentUser: 'Τρέχων χρήστης',
|
||||
customFieldGroup_title: 'Ομάδα προσαρμοσμένων πεδίων',
|
||||
customFieldGroups_title: 'Ομάδες προσαρμοσμένων πεδίων',
|
||||
customField_title: 'Προσαρμοσμένο πεδίο',
|
||||
@@ -155,6 +162,7 @@ export default {
|
||||
defaultView_title: 'Προεπιλεγμένη προβολή',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Διαγράψτε όλους τους πίνακες για να μπορέσετε να διαγράψετε αυτό το έργο',
|
||||
deleteApiKey_title: 'Διαγραφή κλειδιού API',
|
||||
deleteAttachment_title: 'Διαγραφή συνημμένου',
|
||||
deleteBackgroundImage_title: 'Διαγραφή εικόνας φόντου',
|
||||
deleteBoard_title: 'Διαγραφή πίνακα',
|
||||
@@ -210,6 +218,8 @@ export default {
|
||||
forTeamBasedProjects: 'Για έργα βασισμένα σε ομάδες.',
|
||||
fromComputer_title: 'Από υπολογιστή',
|
||||
fromTrello: 'Από Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Το πλήρες κλειδί είναι κρυφό για λόγους ασφαλείας. Αναδημιουργήστε το για να δημιουργήσετε ένα νέο.',
|
||||
general: 'Γενικά',
|
||||
gradients: 'Διαβαθμίσεις',
|
||||
grid: 'Πλέγμα',
|
||||
@@ -217,7 +227,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Απόκρυψη από τη λίστα έργων και τα αγαπημένα',
|
||||
host: 'Κεντρικός υπολογιστής',
|
||||
hours: 'Ώρες',
|
||||
identity: 'Ταυτότητα',
|
||||
importBoard_title: 'Εισαγωγή πίνακα',
|
||||
information: 'Πληροφορίες',
|
||||
invalidCurrentPassword: 'Μη έγκυρος τρέχων κωδικός',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Ετικέτες',
|
||||
@@ -246,6 +258,7 @@ export default {
|
||||
newUsername: 'Νέο όνομα χρήστη',
|
||||
newVersionAvailable: 'Διαθέσιμη νέα έκδοση',
|
||||
newestFirst: 'Νεότερα πρώτα',
|
||||
noApiKeyCreated: 'Δεν έχει δημιουργηθεί κλειδί API.',
|
||||
noBoards: 'Δεν υπάρχουν πίνακες',
|
||||
noCardsFound: 'Δεν βρέθηκαν κάρτες.',
|
||||
noConnectionToServer: 'Δεν υπάρχει σύνδεση με τον διακομιστή',
|
||||
@@ -273,10 +286,12 @@ export default {
|
||||
projectNotFound_title: 'Το έργο δεν βρέθηκε',
|
||||
projectOwner: 'Ιδιοκτήτης έργου',
|
||||
referenceDataAndKnowledgeStorage: 'Αποθήκευση δεδομένων και γνώσης αναφοράς.',
|
||||
regenerateApiKey_title: 'Αναδημιουργία κλειδιού API',
|
||||
rejectUnauthorizedTlsCertificates: 'Απόρριψη μη εξουσιοδοτημένων πιστοποιητικών TLS',
|
||||
removeManager_title: 'Αφαίρεση διαχειριστή',
|
||||
removeMember_title: 'Αφαίρεση μέλους',
|
||||
role: 'Ρόλος',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Αποθηκεύστε αυτό το κλειδί — δεν θα εμφανιστεί ξανά!',
|
||||
searchCards: 'Αναζήτηση καρτών...',
|
||||
searchCustomFieldGroups: 'Αναζήτηση ομάδων προσαρμοσμένων πεδίων...',
|
||||
searchCustomFields: 'Αναζήτηση προσαρμοσμένων πεδίων...',
|
||||
@@ -397,6 +412,7 @@ export default {
|
||||
archiveCards_title: 'Αρχειοθέτηση καρτών',
|
||||
assignAsOwner: 'Ορισμός ως ιδιοκτήτης',
|
||||
cancel: 'Ακύρωση',
|
||||
createApiKey: 'Δημιουργία κλειδιού API',
|
||||
createBoard: 'Δημιουργία πίνακα',
|
||||
createCustomFieldGroup: 'Δημιουργία ομάδας προσαρμοσμένων πεδίων',
|
||||
createFile: 'Δημιουργία αρχείου',
|
||||
@@ -406,6 +422,7 @@ export default {
|
||||
deactivateUser: 'Απενεργοποίηση χρήστη',
|
||||
deactivateUser_title: 'Απενεργοποίηση χρήστη',
|
||||
delete: 'Διαγραφή',
|
||||
deleteApiKey: 'Διαγραφή κλειδιού API',
|
||||
deleteAttachment: 'Διαγραφή συνημμένου',
|
||||
deleteAvatar: 'Διαγραφή avatar',
|
||||
deleteBackgroundImage: 'Διαγραφή εικόνας φόντου',
|
||||
@@ -464,6 +481,7 @@ export default {
|
||||
move: 'Μετακίνηση',
|
||||
moveCard_title: 'Μετακίνηση κάρτας',
|
||||
moveList_title: 'Μετακίνηση λίστας',
|
||||
regenerateApiKey: 'Αναδημιουργία κλειδιού API',
|
||||
remove: 'Αφαίρεση',
|
||||
removeAssignee: 'Αφαίρεση υπευθύνου',
|
||||
removeColor: 'Αφαίρεση χρώματος',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'All changes will be automatically saved<br />after connection restored.',
|
||||
alphabetically: 'Alphabetically',
|
||||
alwaysDisplayCardCreator: 'Always display card creator',
|
||||
apiKeyCreated_title: 'API Key Created',
|
||||
apiKey_title: 'API Key',
|
||||
archive: 'Archive',
|
||||
archiveCard_title: 'Archive Card',
|
||||
archiveCards_title: 'Archive Cards',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Are you sure you want to assign this project manager as owner?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Are you sure you want to deactivate this user?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Are you sure you want to delete this API key?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Are you sure you want to delete this attachment?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Are you sure you want to delete this background image?',
|
||||
@@ -78,6 +81,8 @@ export default {
|
||||
'Are you sure you want to make this project private?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Are you sure you want to make this project shared?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Are you sure you want to regenerate this API key? The previous key will no longer work.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Are you sure you want to remove this manager from the project?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -130,6 +135,7 @@ export default {
|
||||
createTextFile_title: 'Create Text File',
|
||||
creator: 'Creator',
|
||||
currentPassword: 'Current password',
|
||||
currentUser: 'Current user',
|
||||
customFieldGroup_title: 'Custom Field Group',
|
||||
customFieldGroups_title: 'Custom Field Groups',
|
||||
customField_title: 'Custom Field',
|
||||
@@ -142,6 +148,7 @@ export default {
|
||||
defaultView_title: 'Default View',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Delete all boards to be able to delete this project',
|
||||
deleteApiKey_title: 'Delete API Key',
|
||||
deleteAttachment_title: 'Delete Attachment',
|
||||
deleteBackgroundImage_title: 'Delete Background Image',
|
||||
deleteBoard_title: 'Delete Board',
|
||||
@@ -197,6 +204,8 @@ export default {
|
||||
forTeamBasedProjects: 'For team-based projects.',
|
||||
fromComputer_title: 'From Computer',
|
||||
fromTrello: 'From Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'The full key is hidden for security reasons. Regenerate it to create a new one.',
|
||||
general: 'General',
|
||||
gradients: 'Gradients',
|
||||
grid: 'Grid',
|
||||
@@ -204,7 +213,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Hide from project list and favorites',
|
||||
host: 'Host',
|
||||
hours: 'Hours',
|
||||
identity: 'Identity',
|
||||
importBoard_title: 'Import Board',
|
||||
information: 'Information',
|
||||
invalidCurrentPassword: 'Invalid current password',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Labels',
|
||||
@@ -233,6 +244,7 @@ export default {
|
||||
newUsername: 'New username',
|
||||
newVersionAvailable: 'New version available',
|
||||
newestFirst: 'Newest first',
|
||||
noApiKeyCreated: 'No API key created.',
|
||||
noBoards: 'No boards',
|
||||
noCardsFound: 'No cards found.',
|
||||
noConnectionToServer: 'No connection to server',
|
||||
@@ -260,10 +272,12 @@ export default {
|
||||
projectNotFound_title: 'Project Not Found',
|
||||
projectOwner: 'Project owner',
|
||||
referenceDataAndKnowledgeStorage: 'Reference data and knowledge storage.',
|
||||
regenerateApiKey_title: 'Regenerate API Key',
|
||||
rejectUnauthorizedTlsCertificates: 'Reject unauthorized TLS certificates',
|
||||
removeManager_title: 'Remove Manager',
|
||||
removeMember_title: 'Remove Member',
|
||||
role: 'Role',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Save this key — it will not be shown again!',
|
||||
searchCards: 'Search cards...',
|
||||
searchCustomFieldGroups: 'Search custom field groups...',
|
||||
searchCustomFields: 'Search custom fields...',
|
||||
@@ -376,6 +390,7 @@ export default {
|
||||
archiveCards_title: 'Archive Cards',
|
||||
assignAsOwner: 'Assign as owner',
|
||||
cancel: 'Cancel',
|
||||
createApiKey: 'Create API key',
|
||||
createBoard: 'Create board',
|
||||
createCustomFieldGroup: 'Create custom field group',
|
||||
createFile: 'Create file',
|
||||
@@ -385,6 +400,7 @@ export default {
|
||||
deactivateUser: 'Deactivate user',
|
||||
deactivateUser_title: 'Deactivate User',
|
||||
delete: 'Delete',
|
||||
deleteApiKey: 'Delete API key',
|
||||
deleteAttachment: 'Delete attachment',
|
||||
deleteAvatar: 'Delete avatar',
|
||||
deleteBackgroundImage: 'Delete background image',
|
||||
@@ -443,6 +459,7 @@ export default {
|
||||
move: 'Move',
|
||||
moveCard_title: 'Move Card',
|
||||
moveList_title: 'Move List',
|
||||
regenerateApiKey: 'Regenerate API key',
|
||||
remove: 'Remove',
|
||||
removeAssignee: 'Remove assignee',
|
||||
removeColor: 'Remove color',
|
||||
|
||||
@@ -35,6 +35,8 @@ export default {
|
||||
'All changes will be automatically saved<br />after connection restored.',
|
||||
alphabetically: 'Alphabetically',
|
||||
alwaysDisplayCardCreator: 'Always display card creator',
|
||||
apiKeyCreated_title: 'API Key Created',
|
||||
apiKey_title: 'API Key',
|
||||
archive: 'Archive',
|
||||
archiveCard_title: 'Archive Card',
|
||||
archiveCards_title: 'Archive Cards',
|
||||
@@ -44,6 +46,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Are you sure you want to assign this project manager as owner?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Are you sure you want to deactivate this user?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Are you sure you want to delete this API key?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Are you sure you want to delete this attachment?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Are you sure you want to delete this background image?',
|
||||
@@ -73,6 +76,8 @@ export default {
|
||||
'Are you sure you want to make this project private?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Are you sure you want to make this project shared?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Are you sure you want to regenerate this API key? The previous key will no longer work.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Are you sure you want to remove this manager from the project?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -125,6 +130,7 @@ export default {
|
||||
createTextFile_title: 'Create Text File',
|
||||
creator: 'Creator',
|
||||
currentPassword: 'Current password',
|
||||
currentUser: 'Current user',
|
||||
customFieldGroup_title: 'Custom Field Group',
|
||||
customFieldGroups_title: 'Custom Field Groups',
|
||||
customField_title: 'Custom Field',
|
||||
@@ -137,6 +143,7 @@ export default {
|
||||
defaultView_title: 'Default View',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Delete all boards to be able to delete this project',
|
||||
deleteApiKey_title: 'Delete API Key',
|
||||
deleteAttachment_title: 'Delete Attachment',
|
||||
deleteBackgroundImage_title: 'Delete Background Image',
|
||||
deleteBoard_title: 'Delete Board',
|
||||
@@ -192,6 +199,8 @@ export default {
|
||||
forTeamBasedProjects: 'For team-based projects.',
|
||||
fromComputer_title: 'From Computer',
|
||||
fromTrello: 'From Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'The full key is hidden for security reasons. Regenerate it to create a new one.',
|
||||
general: 'General',
|
||||
gradients: 'Gradients',
|
||||
grid: 'Grid',
|
||||
@@ -199,7 +208,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Hide from project list and favorites',
|
||||
host: 'Host',
|
||||
hours: 'Hours',
|
||||
identity: 'Identity',
|
||||
importBoard_title: 'Import Board',
|
||||
information: 'Information',
|
||||
invalidCurrentPassword: 'Invalid current password',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Labels',
|
||||
@@ -228,6 +239,7 @@ export default {
|
||||
newUsername: 'New username',
|
||||
newVersionAvailable: 'New version available',
|
||||
newestFirst: 'Newest first',
|
||||
noApiKeyCreated: 'No API key created.',
|
||||
noBoards: 'No boards',
|
||||
noCardsFound: 'No cards found.',
|
||||
noConnectionToServer: 'No connection to server',
|
||||
@@ -255,10 +267,12 @@ export default {
|
||||
projectNotFound_title: 'Project Not Found',
|
||||
projectOwner: 'Project owner',
|
||||
referenceDataAndKnowledgeStorage: 'Reference data and knowledge storage.',
|
||||
regenerateApiKey_title: 'Regenerate API Key',
|
||||
rejectUnauthorizedTlsCertificates: 'Reject unauthorized TLS certificates',
|
||||
removeManager_title: 'Remove Manager',
|
||||
removeMember_title: 'Remove Member',
|
||||
role: 'Role',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Save this key — it will not be shown again!',
|
||||
searchCards: 'Search cards...',
|
||||
searchCustomFieldGroups: 'Search custom field groups...',
|
||||
searchCustomFields: 'Search custom fields...',
|
||||
@@ -371,6 +385,7 @@ export default {
|
||||
archiveCards_title: 'Archive Cards',
|
||||
assignAsOwner: 'Assign as owner',
|
||||
cancel: 'Cancel',
|
||||
createApiKey: 'Create API key',
|
||||
createBoard: 'Create board',
|
||||
createCustomFieldGroup: 'Create custom field group',
|
||||
createFile: 'Create file',
|
||||
@@ -380,6 +395,7 @@ export default {
|
||||
deactivateUser: 'Deactivate user',
|
||||
deactivateUser_title: 'Deactivate User',
|
||||
delete: 'Delete',
|
||||
deleteApiKey: 'Delete API key',
|
||||
deleteAttachment: 'Delete attachment',
|
||||
deleteAvatar: 'Delete avatar',
|
||||
deleteBackgroundImage: 'Delete background image',
|
||||
@@ -438,6 +454,7 @@ export default {
|
||||
move: 'Move',
|
||||
moveCard_title: 'Move Card',
|
||||
moveList_title: 'Move List',
|
||||
regenerateApiKey: 'Regenerate API key',
|
||||
remove: 'Remove',
|
||||
removeAssignee: 'Remove assignee',
|
||||
removeColor: 'Remove color',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Todos los cambios se guardarán automáticamente<br />cuando se restablezca la conexión.',
|
||||
alphabetically: 'Alfabéticamente',
|
||||
alwaysDisplayCardCreator: 'Mostrar siempre el creador de la tarjeta',
|
||||
apiKeyCreated_title: 'Clave API creada',
|
||||
apiKey_title: 'Clave API',
|
||||
archive: 'Archivar',
|
||||
archiveCard_title: 'Archivar tarjeta',
|
||||
archiveCards_title: 'Archivar tarjetas',
|
||||
@@ -50,6 +52,7 @@ export default {
|
||||
'¿Estás seguro de que quieres asignar este gestor de proyecto como propietario?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'¿Estás seguro de que quieres desactivar este usuario?',
|
||||
areYouSureYouWantToDeleteThisApiKey: '¿Estás seguro de que quieres eliminar esta clave API?',
|
||||
areYouSureYouWantToDeleteThisAttachment:
|
||||
'¿Estás seguro de que quieres eliminar este archivo adjunto?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
@@ -82,6 +85,8 @@ export default {
|
||||
'¿Estás seguro de que quieres hacer este proyecto privado?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'¿Estás seguro de que quieres hacer este proyecto compartido?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'¿Estás seguro de que quieres regenerar esta clave API? La clave anterior ya no funcionará.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'¿Estás seguro de que quieres eliminar este gestor del proyecto?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -136,6 +141,7 @@ export default {
|
||||
createTextFile_title: 'Crear archivo de texto',
|
||||
creator: 'Creador',
|
||||
currentPassword: 'Contraseña actual',
|
||||
currentUser: 'Usuario actual',
|
||||
customFieldGroup_title: 'Grupo de campos personalizados',
|
||||
customFieldGroups_title: 'Grupos de campos personalizados',
|
||||
customField_title: 'Campo personalizado',
|
||||
@@ -148,6 +154,7 @@ export default {
|
||||
defaultView_title: 'Vista por defecto',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Elimina todos los tableros para poder eliminar este proyecto',
|
||||
deleteApiKey_title: 'Eliminar clave API',
|
||||
deleteAttachment_title: 'Eliminar archivo adjunto',
|
||||
deleteBackgroundImage_title: 'Eliminar imagen de fondo',
|
||||
deleteBoard_title: 'Eliminar tablero',
|
||||
@@ -203,6 +210,8 @@ export default {
|
||||
forTeamBasedProjects: 'Para proyectos en equipo.',
|
||||
fromComputer_title: 'Desde el ordenador',
|
||||
fromTrello: 'Desde Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'La clave completa está oculta por razones de seguridad. Regénérala para crear una nueva.',
|
||||
general: 'General',
|
||||
gradients: 'Degradados',
|
||||
grid: 'Cuadrícula',
|
||||
@@ -210,7 +219,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Ocultar de la lista de proyectos y favoritos',
|
||||
host: 'Host',
|
||||
hours: 'Horas',
|
||||
identity: 'Identidad',
|
||||
importBoard_title: 'Importar tablero',
|
||||
information: 'Información',
|
||||
invalidCurrentPassword: 'Contraseña actual incorrecta',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Etiquetas',
|
||||
@@ -239,6 +250,7 @@ export default {
|
||||
newUsername: 'Nuevo nombre de usuario',
|
||||
newVersionAvailable: 'Nueva versión disponible',
|
||||
newestFirst: 'Más recientes primero',
|
||||
noApiKeyCreated: 'No se ha creado ninguna clave API.',
|
||||
noBoards: 'Sin tableros',
|
||||
noCardsFound: 'No se encontraron tarjetas.',
|
||||
noConnectionToServer: 'Sin conexión al servidor',
|
||||
@@ -266,10 +278,12 @@ export default {
|
||||
projectNotFound_title: 'Proyecto no encontrado',
|
||||
projectOwner: 'Propietario del proyecto',
|
||||
referenceDataAndKnowledgeStorage: 'Almacenamiento de datos de referencia y conocimiento.',
|
||||
regenerateApiKey_title: 'Regenerar clave API',
|
||||
rejectUnauthorizedTlsCertificates: 'Rechazar certificados TLS no autorizados',
|
||||
removeManager_title: 'Eliminar gestor',
|
||||
removeMember_title: 'Eliminar miembro',
|
||||
role: 'Rol',
|
||||
saveThisKeyItWillNotBeShownAgain: '¡Guarda esta clave, no se mostrará de nuevo!',
|
||||
searchCards: 'Buscar tarjetas...',
|
||||
searchCustomFieldGroups: 'Buscar grupos de campos personalizados...',
|
||||
searchCustomFields: 'Buscar campos personalizados...',
|
||||
@@ -384,6 +398,7 @@ export default {
|
||||
archiveCards_title: 'Archivar tarjetas',
|
||||
assignAsOwner: 'Asignar como propietario',
|
||||
cancel: 'Cancelar',
|
||||
createApiKey: 'Crear clave API',
|
||||
createBoard: 'Crear tablero',
|
||||
createCustomFieldGroup: 'Crear grupo de campos personalizados',
|
||||
createFile: 'Crear archivo',
|
||||
@@ -393,6 +408,7 @@ export default {
|
||||
deactivateUser: 'Desactivar usuario',
|
||||
deactivateUser_title: 'Desactivar usuario',
|
||||
delete: 'Eliminar',
|
||||
deleteApiKey: 'Eliminar clave API',
|
||||
deleteAttachment: 'Eliminar archivo adjunto',
|
||||
deleteAvatar: 'Eliminar avatar',
|
||||
deleteBackgroundImage: 'Eliminar imagen de fondo',
|
||||
@@ -451,6 +467,7 @@ export default {
|
||||
move: 'Mover',
|
||||
moveCard_title: 'Mover tarjeta',
|
||||
moveList_title: 'Mover lista',
|
||||
regenerateApiKey: 'Regenerar clave API',
|
||||
remove: 'Eliminar',
|
||||
removeAssignee: 'Eliminar asignado',
|
||||
removeColor: 'Eliminar color',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Kõik muudatused salvestatakse automaatselt<br />pärast ühenduse taastamist.',
|
||||
alphabetically: 'Tähestiku järgi',
|
||||
alwaysDisplayCardCreator: 'Näita alati kaardi loojat',
|
||||
apiKeyCreated_title: 'API võti loodud',
|
||||
apiKey_title: 'API võti',
|
||||
archive: 'Arhiveeri',
|
||||
archiveCard_title: 'Arhiveeri kaart',
|
||||
archiveCards_title: 'Arhiveeri kaardid',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Oled kindel, et soovid seda projektihaldurit omanikuks määrata?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Oled kindel, et soovid seda kasutajat deaktiveerida?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Kas olete kindel, et soovite seda API võtit kustutada?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Oled kindel, et soovid seda manusi kustutada?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Oled kindel, et soovid seda taustapilla kustutada?',
|
||||
@@ -79,6 +82,8 @@ export default {
|
||||
'Oled kindel, et soovid seda projekti privaatseks muuta?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Oled kindel, et soovid seda projekti jagatavaks määrata?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Kas olete kindel, et soovite seda API võtit taastada? Eelmine võti ei tööta enam.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Oled kindel, et soovid seda haldurit projektist eemaldada?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -131,6 +136,7 @@ export default {
|
||||
createTextFile_title: 'Loo tekstifail',
|
||||
creator: 'Looja',
|
||||
currentPassword: 'Praegune parool',
|
||||
currentUser: 'Praegune kasutaja',
|
||||
customFieldGroup_title: 'Kohandatud väljade grupp',
|
||||
customFieldGroups_title: 'Kohandatud väljade grupid',
|
||||
customField_title: 'Kohandatud väli',
|
||||
@@ -143,6 +149,7 @@ export default {
|
||||
defaultView_title: 'Vaikimisi vaade',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Kustuta kõik tahvlid, et seda projekti kustutada',
|
||||
deleteApiKey_title: 'Kustuta API võti',
|
||||
deleteAttachment_title: 'Kustuta manus',
|
||||
deleteBackgroundImage_title: 'Kustuta taustapilt',
|
||||
deleteBoard_title: 'Kustuta tahvel',
|
||||
@@ -198,6 +205,8 @@ export default {
|
||||
forTeamBasedProjects: 'Töögrupi põhised projektid.',
|
||||
fromComputer_title: 'Arvutist',
|
||||
fromTrello: 'Trellost',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Täielik võti on turvakaalutlustel peidetud. Taasta see, et luua uus.',
|
||||
general: 'Üldine',
|
||||
gradients: 'Gradiendid',
|
||||
grid: 'Grill',
|
||||
@@ -205,7 +214,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Peida projektiloendist ja lemmikutest',
|
||||
host: 'Host',
|
||||
hours: 'Tunnid',
|
||||
identity: 'Identiteet',
|
||||
importBoard_title: 'Impordi tahvel',
|
||||
information: 'Informatsioon',
|
||||
invalidCurrentPassword: 'Vale praegune parool',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Sildid',
|
||||
@@ -234,6 +245,7 @@ export default {
|
||||
newUsername: 'Uus kasutajanimi',
|
||||
newVersionAvailable: 'Uus versioon saadaval',
|
||||
newestFirst: 'Kõige uuem',
|
||||
noApiKeyCreated: 'API võtit pole loodud.',
|
||||
noBoards: 'Tahvleid pole',
|
||||
noCardsFound: 'Kaarte ei leitud.',
|
||||
noConnectionToServer: 'Ühendust serveriga ei leitud',
|
||||
@@ -261,10 +273,12 @@ export default {
|
||||
projectNotFound_title: 'Projekt ei leitud',
|
||||
projectOwner: 'Projekti omanik',
|
||||
referenceDataAndKnowledgeStorage: 'Viideandmete ja teadmise salvestamiseks.',
|
||||
regenerateApiKey_title: 'Taasta API võti',
|
||||
rejectUnauthorizedTlsCertificates: 'Lükka tagasi volitamata TLS-sertifikaadid',
|
||||
removeManager_title: 'Eemalda haldur',
|
||||
removeMember_title: 'Eemalda liige',
|
||||
role: 'Roll',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Salvesta see võti — seda ei näidata enam!',
|
||||
searchCards: 'Kaartide otsimine...',
|
||||
searchCustomFieldGroups: 'Kohandatud väljade gruppide otsimine...',
|
||||
searchCustomFields: 'Kohandatud väljade otsimine...',
|
||||
@@ -378,6 +392,7 @@ export default {
|
||||
archiveCards_title: 'Arhiveeri kaardid',
|
||||
assignAsOwner: 'Määra omanikuks',
|
||||
cancel: 'Tühista',
|
||||
createApiKey: 'Loo API võti',
|
||||
createBoard: 'Loo tahvel',
|
||||
createCustomFieldGroup: 'Loo kohandatud väljade grupp',
|
||||
createFile: 'Loo fail',
|
||||
@@ -387,6 +402,7 @@ export default {
|
||||
deactivateUser: 'Deaktiveeri kasutaja',
|
||||
deactivateUser_title: 'Deaktiveeri kasutaja',
|
||||
delete: 'Kustuta',
|
||||
deleteApiKey: 'Kustuta API võti',
|
||||
deleteAttachment: 'Kustuta manus',
|
||||
deleteAvatar: 'Kustuta avatar',
|
||||
deleteBackgroundImage: 'Kustuta taustapilt',
|
||||
@@ -445,6 +461,7 @@ export default {
|
||||
move: 'Liiguta',
|
||||
moveCard_title: 'Liiguta kaart',
|
||||
moveList_title: 'Liiguta nimekiri',
|
||||
regenerateApiKey: 'Taasta API võti',
|
||||
remove: 'Eemalda',
|
||||
removeAssignee: 'Eemalda vastutaja',
|
||||
removeColor: 'Eemalda värv',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'تمام تغییرات به صورت خودکار ذخیره میشوند<br />بعد از بازیابی ارتباط.',
|
||||
alphabetically: 'بر اساس حروف الفبا',
|
||||
alwaysDisplayCardCreator: 'همیشه سازنده کارت را نمایش بده',
|
||||
apiKeyCreated_title: 'کلید API ایجاد شد',
|
||||
apiKey_title: 'کلید API',
|
||||
archive: 'آرشیو',
|
||||
archiveCard_title: 'آرشیو کارت',
|
||||
archiveCards_title: 'آرشیو کارتها',
|
||||
@@ -50,6 +52,7 @@ export default {
|
||||
'آیا مطمئن هستید که میخواهید این مدیر پروژه را به عنوان مالک تعیین کنید؟',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'آیا مطمئن هستید که میخواهید این کاربر را غیرفعال کنید؟',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'آیا مطمئن هستید که میخواهید این کلید API را حذف کنید؟',
|
||||
areYouSureYouWantToDeleteThisAttachment:
|
||||
'آیا مطمئن هستید که میخواهید این پیوست را حذف کنید؟',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
@@ -81,6 +84,8 @@ export default {
|
||||
'آیا مطمئن هستید که میخواهید این پروژه را خصوصی کنید؟',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'آیا مطمئن هستید که میخواهید این پروژه را به اشتراک بگذارید؟',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'آیا مطمئن هستید که میخواهید این کلید API را بازسازی کنید؟ کلید قبلی دیگر کار نخواهد کرد.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'آیا مطمئن هستید که میخواهید این مدیر را از پروژه حذف کنید؟',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -134,6 +139,7 @@ export default {
|
||||
createTextFile_title: 'ایجاد فایل متنی',
|
||||
creator: 'سازنده',
|
||||
currentPassword: 'رمز عبور فعلی',
|
||||
currentUser: 'کاربر فعلی',
|
||||
customFieldGroup_title: 'گروه فیلد سفارشی',
|
||||
customFieldGroups_title: 'گروههای فیلد سفارشی',
|
||||
customField_title: 'فیلد سفارشی',
|
||||
@@ -146,6 +152,7 @@ export default {
|
||||
defaultView_title: 'نمای پیشفرض',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'همه بردها را حذف کنید تا بتوانید این پروژه را حذف کنید',
|
||||
deleteApiKey_title: 'حذف کلید API',
|
||||
deleteAttachment_title: 'حذف پیوست',
|
||||
deleteBackgroundImage_title: 'حذف تصویر پسزمینه',
|
||||
deleteBoard_title: 'حذف برد',
|
||||
@@ -201,6 +208,8 @@ export default {
|
||||
forTeamBasedProjects: 'برای پروژههای تیمی.',
|
||||
fromComputer_title: 'از کامپیوتر',
|
||||
fromTrello: 'از Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'کلید کامل به دلایل امنیتی مخفی است. آن را بازسازی کنید تا یک کلید جدید ایجاد شود.',
|
||||
general: 'عمومی',
|
||||
gradients: 'گرادیانها',
|
||||
grid: 'شبکه',
|
||||
@@ -208,7 +217,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'مخفی کردن از لیست پروژهها و علاقهمندیها',
|
||||
host: 'میزبان',
|
||||
hours: 'ساعتها',
|
||||
identity: 'هویت',
|
||||
importBoard_title: 'وارد کردن برد',
|
||||
information: 'اطلاعات',
|
||||
invalidCurrentPassword: 'رمز عبور فعلی نامعتبر است',
|
||||
kanban: 'کانبان',
|
||||
labels: 'برچسبها',
|
||||
@@ -237,6 +248,7 @@ export default {
|
||||
newUsername: 'نام کاربری جدید',
|
||||
newVersionAvailable: 'نسخه جدید موجود است',
|
||||
newestFirst: 'جدیدترین اول',
|
||||
noApiKeyCreated: 'هیچ کلید API ایجاد نشده است.',
|
||||
noBoards: 'بردی وجود ندارد',
|
||||
noCardsFound: 'کارتی یافت نشد.',
|
||||
noConnectionToServer: 'ارتباط با سرور قطع است',
|
||||
@@ -264,10 +276,12 @@ export default {
|
||||
projectNotFound_title: 'پروژه یافت نشد',
|
||||
projectOwner: 'مالک پروژه',
|
||||
referenceDataAndKnowledgeStorage: 'ذخیرهسازی دادههای مرجع و دانش.',
|
||||
regenerateApiKey_title: 'بازسازی کلید API',
|
||||
rejectUnauthorizedTlsCertificates: 'رد کردن گواهینامههای TLS غیرمجاز',
|
||||
removeManager_title: 'حذف مدیر',
|
||||
removeMember_title: 'حذف عضو',
|
||||
role: 'نقش',
|
||||
saveThisKeyItWillNotBeShownAgain: 'این کلید را ذخیره کنید — دیگر نشان داده نخواهد شد!',
|
||||
searchCards: 'جستجوی کارتها...',
|
||||
searchCustomFieldGroups: 'جستجوی گروههای فیلد سفارشی...',
|
||||
searchCustomFields: 'جستجوی فیلدهای سفارشی...',
|
||||
@@ -380,6 +394,7 @@ export default {
|
||||
archiveCards_title: 'آرشیو کارتها',
|
||||
assignAsOwner: 'تعیین به عنوان مالک',
|
||||
cancel: 'لغو',
|
||||
createApiKey: 'ایجاد کلید API',
|
||||
createBoard: 'ایجاد برد',
|
||||
createCustomFieldGroup: 'ایجاد گروه فیلد سفارشی',
|
||||
createFile: 'ایجاد فایل',
|
||||
@@ -389,6 +404,7 @@ export default {
|
||||
deactivateUser: 'غیرفعال کردن کاربر',
|
||||
deactivateUser_title: 'غیرفعال کردن کاربر',
|
||||
delete: 'حذف',
|
||||
deleteApiKey: 'حذف کلید API',
|
||||
deleteAttachment: 'حذف پیوست',
|
||||
deleteAvatar: 'حذف آواتار',
|
||||
deleteBackgroundImage: 'حذف تصویر پسزمینه',
|
||||
@@ -447,6 +463,7 @@ export default {
|
||||
move: 'انتقال',
|
||||
moveCard_title: 'انتقال کارت',
|
||||
moveList_title: 'انتقال لیست',
|
||||
regenerateApiKey: 'بازسازی کلید API',
|
||||
remove: 'حذف',
|
||||
removeAssignee: 'حذف مسئول',
|
||||
removeColor: 'حذف رنگ',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Kaikki muutokset tallennetaan automaattisesti<br />yhteyden palautuessa.',
|
||||
alphabetically: 'Aakkosjärjestyksessä',
|
||||
alwaysDisplayCardCreator: 'Näytä aina kortin luoja',
|
||||
apiKeyCreated_title: 'API-avain luotu',
|
||||
apiKey_title: 'API-avain',
|
||||
archive: 'Arkistoi',
|
||||
archiveCard_title: 'Arkistoi kortti',
|
||||
archiveCards_title: 'Arkistoi kortit',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Haluatko varmasti asettaa tämän projektipäällikön omistajaksi?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Haluatko varmasti poistaa tämän käyttäjän käytöstä?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Haluatko varmasti poistaa tämän API-avaimen?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Haluatko varmasti poistaa tämän liitteen?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage: 'Haluatko varmasti poistaa tämän taustakuvan?',
|
||||
areYouSureYouWantToDeleteThisBoard: 'Haluatko varmasti poistaa tämän taulun?',
|
||||
@@ -75,6 +78,8 @@ export default {
|
||||
areYouSureYouWantToMakeThisProjectPrivate:
|
||||
'Haluatko varmasti tehdä tästä projektista yksityisen?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Haluatko varmasti jakaa tämän projektin?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Haluatko varmasti luoda uuden API-avaimen? Edellinen avain ei enää toimi.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Haluatko varmasti poistaa tämän ylläpitäjän projektista?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -127,6 +132,7 @@ export default {
|
||||
createTextFile_title: 'Luo tekstitiedosto',
|
||||
creator: 'Luoja',
|
||||
currentPassword: 'Nykyinen salasana',
|
||||
currentUser: 'Nykyinen käyttäjä',
|
||||
customFieldGroup_title: 'Mukautettujen kenttien ryhmä',
|
||||
customFieldGroups_title: 'Mukautettujen kenttien ryhmät',
|
||||
customField_title: 'Mukautettu kenttä',
|
||||
@@ -139,6 +145,7 @@ export default {
|
||||
defaultView_title: 'Oletusnäkymä',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Poista kaikki taulut, jotta voit poistaa tämän projektin',
|
||||
deleteApiKey_title: 'Poista API-avain',
|
||||
deleteAttachment_title: 'Poista liite',
|
||||
deleteBackgroundImage_title: 'Poista taustakuva',
|
||||
deleteBoard_title: 'Poista taulu',
|
||||
@@ -194,6 +201,8 @@ export default {
|
||||
forTeamBasedProjects: 'Tiimipohjaisiin projekteihin.',
|
||||
fromComputer_title: 'Tietokoneelta',
|
||||
fromTrello: 'Trellosta',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Koko avain on piilotettu turvallisuussyistä. Luo se uudelleen saadaksesi uuden.',
|
||||
general: 'Yleinen',
|
||||
gradients: 'Liukuvärit',
|
||||
grid: 'Ruudukko',
|
||||
@@ -201,7 +210,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Piilota projektilistasta ja suosikeista',
|
||||
host: 'Isäntä',
|
||||
hours: 'Tunnit',
|
||||
identity: 'Henkilöllisyys',
|
||||
importBoard_title: 'Tuo taulu',
|
||||
information: 'Tiedot',
|
||||
invalidCurrentPassword: 'Virheellinen nykyinen salasana',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Tunnisteet',
|
||||
@@ -230,6 +241,7 @@ export default {
|
||||
newUsername: 'Uusi käyttäjänimi',
|
||||
newVersionAvailable: 'Uusi versio saatavilla',
|
||||
newestFirst: 'Uusimmat ensin',
|
||||
noApiKeyCreated: 'API-avainta ei ole luotu.',
|
||||
noBoards: 'Ei tauluja',
|
||||
noCardsFound: 'Kortteja ei löytynyt.',
|
||||
noConnectionToServer: 'Ei yhteyttä palvelimeen',
|
||||
@@ -257,10 +269,12 @@ export default {
|
||||
projectNotFound_title: 'Projektia ei löytynyt',
|
||||
projectOwner: 'Projektin omistaja',
|
||||
referenceDataAndKnowledgeStorage: 'Viitetiedot ja tietovarasto.',
|
||||
regenerateApiKey_title: 'Luo API-avain uudelleen',
|
||||
rejectUnauthorizedTlsCertificates: 'Hylkää valtuuttamattomat TLS-varmenteet',
|
||||
removeManager_title: 'Poista ylläpitäjä',
|
||||
removeMember_title: 'Poista jäsen',
|
||||
role: 'Rooli',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Tallenna tämä avain — sitä ei näytetä uudelleen!',
|
||||
searchCards: 'Etsi kortteja...',
|
||||
searchCustomFieldGroups: 'Etsi mukautettujen kenttien ryhmiä...',
|
||||
searchCustomFields: 'Etsi mukautettuja kenttiä...',
|
||||
@@ -377,6 +391,7 @@ export default {
|
||||
archiveCards_title: 'Arkistoi kortit',
|
||||
assignAsOwner: 'Aseta omistajaksi',
|
||||
cancel: 'Peruuta',
|
||||
createApiKey: 'Luo API-avain',
|
||||
createBoard: 'Luo taulu',
|
||||
createCustomFieldGroup: 'Luo mukautettujen kenttien ryhmä',
|
||||
createFile: 'Luo tiedosto',
|
||||
@@ -386,6 +401,7 @@ export default {
|
||||
deactivateUser: 'Poista käyttäjä käytöstä',
|
||||
deactivateUser_title: 'Poista käyttäjä käytöstä',
|
||||
delete: 'Poista',
|
||||
deleteApiKey: 'Poista API-avain',
|
||||
deleteAttachment: 'Poista liite',
|
||||
deleteAvatar: 'Poista avatar',
|
||||
deleteBackgroundImage: 'Poista taustakuva',
|
||||
@@ -444,6 +460,7 @@ export default {
|
||||
move: 'Siirrä',
|
||||
moveCard_title: 'Siirrä kortti',
|
||||
moveList_title: 'Siirrä lista',
|
||||
regenerateApiKey: 'Luo API-avain uudelleen',
|
||||
remove: 'Poista',
|
||||
removeAssignee: 'Poista vastuuhenkilö',
|
||||
removeColor: 'Poista väri',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Toutes les modifications seront automatiquement enregistrées<br />une fois la connexion rétablie.',
|
||||
alphabetically: 'Alphabétique',
|
||||
alwaysDisplayCardCreator: 'Toujours afficher le créateur de la carte',
|
||||
apiKeyCreated_title: 'Clé API créée',
|
||||
apiKey_title: 'Clé API',
|
||||
archive: 'Archiver',
|
||||
archiveCard_title: 'Archiver la carte',
|
||||
archiveCards_title: 'Cartes archivées',
|
||||
@@ -50,6 +52,7 @@ export default {
|
||||
'Êtes-vous sûr de vouloir attribuer ce responsable de projet comme propriétaire ?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Etes-vous sûr de vouloir désactiver cet utilisateur ?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Êtes-vous sûr de vouloir supprimer cette clé API ?',
|
||||
areYouSureYouWantToDeleteThisAttachment:
|
||||
'Êtes-vous sûr de vouloir supprimer cette pièce jointe ?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
@@ -81,6 +84,8 @@ export default {
|
||||
'Êtes-vous sûr de vouloir rendre ce projet privé ?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
"Etes-vous sûr de vouloir transformer ce projet en projet d'équipe ?",
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Êtes-vous sûr de vouloir régénérer cette clé API ? La clé précédente ne fonctionnera plus.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Êtes-vous sûr de vouloir supprimer ce responsable du projet ?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -135,6 +140,7 @@ export default {
|
||||
createTextFile_title: 'Créer un fichier texte',
|
||||
creator: 'Créateur',
|
||||
currentPassword: 'Mot de passe actuel',
|
||||
currentUser: 'Utilisateur actuel',
|
||||
customFieldGroup_title: 'Groupe de champs personnalisés',
|
||||
customFieldGroups_title: 'Groupes de champs personnalisés',
|
||||
customField_title: 'Champ personnalisé',
|
||||
@@ -147,6 +153,7 @@ export default {
|
||||
defaultView_title: 'Vue par défaut',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Supprimer tous les tableaux pour pouvoir supprimer ce projet.',
|
||||
deleteApiKey_title: 'Supprimer la clé API',
|
||||
deleteAttachment_title: 'Supprimer la pièce jointe',
|
||||
deleteBackgroundImage_title: 'Supprimer l’image d’arrière-plan',
|
||||
deleteBoard_title: 'Supprimer le tableau',
|
||||
@@ -202,6 +209,8 @@ export default {
|
||||
forTeamBasedProjects: 'Pour les projets basés sur une équipe.',
|
||||
fromComputer_title: "Depuis l'ordinateur",
|
||||
fromTrello: 'Depuis Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'La clé complète est masquée pour des raisons de sécurité. Régénérez-la pour en créer une nouvelle.',
|
||||
general: 'Général',
|
||||
gradients: 'Dégradés',
|
||||
grid: 'Grille',
|
||||
@@ -209,7 +218,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Masquer de la liste des projets et des favoris',
|
||||
host: 'Hôte',
|
||||
hours: 'Heures',
|
||||
identity: 'Identité',
|
||||
importBoard_title: 'Importer un tableau',
|
||||
information: 'Information',
|
||||
invalidCurrentPassword: 'Mot de passe actuel invalide',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Étiquettes',
|
||||
@@ -238,6 +249,7 @@ export default {
|
||||
newUsername: "Nouveau nom d'utilisateur",
|
||||
newVersionAvailable: 'Une nouvelle version est disponible',
|
||||
newestFirst: 'Le plus récent en premier',
|
||||
noApiKeyCreated: 'Aucune clé API créée.',
|
||||
noBoards: 'Pas de tableau',
|
||||
noCardsFound: 'Aucune carte trouvée.',
|
||||
noConnectionToServer: 'Pas de connexion au serveur',
|
||||
@@ -265,10 +277,12 @@ export default {
|
||||
projectNotFound_title: 'Projet introuvable',
|
||||
projectOwner: 'Propriétaire de projet',
|
||||
referenceDataAndKnowledgeStorage: 'Stockage de données de référence et de connaissances.',
|
||||
regenerateApiKey_title: 'Régénérer la clé API',
|
||||
rejectUnauthorizedTlsCertificates: 'Rejeter les certificats TLS non autorisés',
|
||||
removeManager_title: 'Supprimer le responsable',
|
||||
removeMember_title: 'Supprimer le membre',
|
||||
role: 'Rôle',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Enregistrez cette clé — elle ne sera plus affichée !',
|
||||
searchCards: 'Rechercher une carte...',
|
||||
searchCustomFieldGroups: 'Chercher un groupe de champs personnalisés...',
|
||||
searchCustomFields: 'Chercher un champ personnalisé...',
|
||||
@@ -382,6 +396,7 @@ export default {
|
||||
archiveCards_title: 'Archiver les cartes',
|
||||
assignAsOwner: 'Assigner comme propriétaire',
|
||||
cancel: 'Annuler',
|
||||
createApiKey: 'Créer une clé API',
|
||||
createBoard: 'Créer un tableau',
|
||||
createCustomFieldGroup: 'Créer un groupe de champs personnalisés',
|
||||
createFile: 'Créer un fichier',
|
||||
@@ -391,6 +406,7 @@ export default {
|
||||
deactivateUser: 'Désactiver l’utilisateur',
|
||||
deactivateUser_title: 'Désactiver l’utilisateur',
|
||||
delete: 'Supprimer',
|
||||
deleteApiKey: 'Supprimer la clé API',
|
||||
deleteAttachment: 'Supprimer la pièce jointe',
|
||||
deleteAvatar: "Supprimer l'avatar",
|
||||
deleteBackgroundImage: 'Supprimer l’image d’arrière-plan',
|
||||
@@ -449,6 +465,7 @@ export default {
|
||||
move: 'Déplacer',
|
||||
moveCard_title: 'Déplacer la carte',
|
||||
moveList_title: 'Déplacer la liste',
|
||||
regenerateApiKey: 'Régénérer la clé API',
|
||||
remove: 'Supprimer',
|
||||
removeAssignee: 'Retirer le responsable',
|
||||
removeColor: 'Supprimer la couleur',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Az összes változás automatikusan mentésre kerül<br />a kapcsolat helyreállása után.',
|
||||
alphabetically: 'ABC sorrendben',
|
||||
alwaysDisplayCardCreator: 'Mindig jelenjen meg a kártya készítője',
|
||||
apiKeyCreated_title: 'API kulcs létrehozva',
|
||||
apiKey_title: 'API kulcs',
|
||||
archive: 'Archív',
|
||||
archiveCard_title: 'Archív kártya',
|
||||
archiveCards_title: 'Archív kártyák',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Biztosan tulajdonosként jelöli ki ezt a projektmenedzsert?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Biztosan deaktiválni szeretné ezt a felhasználót?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Biztosan törölni szeretné ezt az API kulcsot?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Biztosan törölni szeretné ezt a mellékletet?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage: 'Biztosan törli ezt a háttérképet?',
|
||||
areYouSureYouWantToDeleteThisBoard: 'Biztosan törölni szeretné ezt a táblát?',
|
||||
@@ -72,6 +75,8 @@ export default {
|
||||
areYouSureYouWantToLeaveProject: 'Biztosan el akarja hagyni a projektet?',
|
||||
areYouSureYouWantToMakeThisProjectPrivate: 'Biztosan priváttá teszi ezt a projektet?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Biztosan megosztottá teszi ezt a projektet?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Biztosan újra szeretné generálni ezt az API kulcsot? Az előző kulcs többé nem fog működni.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Biztosan eltávolítja ezt a menedzsert a projektből?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard: 'Biztosan eltávolítja ezt a tagot a tábláról?',
|
||||
@@ -125,6 +130,7 @@ export default {
|
||||
createTextFile_title: 'Szövegfájl létrehozása',
|
||||
creator: 'Létrehozta',
|
||||
currentPassword: 'Jelenlegi jelszó',
|
||||
currentUser: 'Jelenlegi felhasználó',
|
||||
customFieldGroup_title: 'Egyedi mezőcsoport',
|
||||
customFieldGroups_title: 'Egyedi mezőcsoportok',
|
||||
customField_title: 'Egyedi mező',
|
||||
@@ -137,6 +143,7 @@ export default {
|
||||
defaultView_title: 'Alapértelmezett nézet',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'A projekt törléséhez törölni kell az összes táblát.',
|
||||
deleteApiKey_title: 'API kulcs törlése',
|
||||
deleteAttachment_title: 'Melléklet törlése',
|
||||
deleteBackgroundImage_title: 'Háttérkép törlése',
|
||||
deleteBoard_title: 'Tábla törlése',
|
||||
@@ -192,6 +199,8 @@ export default {
|
||||
forTeamBasedProjects: 'Csapatalapú projektekhez.',
|
||||
fromComputer_title: 'Számítógépről',
|
||||
fromTrello: 'Trello-ról',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'A teljes kulcs biztonsági okokból rejtett. Generálja újra egy új létrehozásához.',
|
||||
general: 'Általános',
|
||||
gradients: 'Színátmenetek',
|
||||
grid: 'Rács',
|
||||
@@ -199,7 +208,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Elrejtés a projektlistából és a kedvencekből',
|
||||
host: 'Host',
|
||||
hours: 'Órák',
|
||||
identity: 'Személyazonosság',
|
||||
importBoard_title: 'Tábla importálása',
|
||||
information: 'Információ',
|
||||
invalidCurrentPassword: 'Érvénytelen jelenlegi jelszó',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Címkék',
|
||||
@@ -228,6 +239,7 @@ export default {
|
||||
newUsername: 'Új felhasználónév',
|
||||
newVersionAvailable: 'Új verzió érhető el',
|
||||
newestFirst: 'Újabbak előre',
|
||||
noApiKeyCreated: 'Nincs API kulcs létrehozva.',
|
||||
noBoards: 'Nincsenek táblák',
|
||||
noCardsFound: 'Nem található kártya.',
|
||||
noConnectionToServer: 'Nincs kapcsolat a szerverrel',
|
||||
@@ -255,10 +267,12 @@ export default {
|
||||
projectNotFound_title: 'Projekt nem található',
|
||||
projectOwner: 'Projekt tulajdonos',
|
||||
referenceDataAndKnowledgeStorage: 'Referenciaadatok és tudástár.',
|
||||
regenerateApiKey_title: 'API kulcs újragenerálása',
|
||||
rejectUnauthorizedTlsCertificates: 'Jogosulatlan TLS tanúsítványok elutasítása',
|
||||
removeManager_title: 'Menedzser eltávolítása',
|
||||
removeMember_title: 'Tag eltávolítása',
|
||||
role: 'Szerepkör',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Mentse el ezt a kulcsot — nem jelenik meg újra!',
|
||||
searchCards: 'Kártyák keresése..',
|
||||
searchCustomFieldGroups: 'Egyedi mezőcsoportok keresése...',
|
||||
searchCustomFields: 'Egyedi mezők keresése...',
|
||||
@@ -378,6 +392,7 @@ export default {
|
||||
archiveCards_title: 'Archív kártyák',
|
||||
assignAsOwner: 'Hozzárendelés tulajdonosnak',
|
||||
cancel: 'Mégsem',
|
||||
createApiKey: 'API kulcs létrehozása',
|
||||
createBoard: 'Tábla létrehozása',
|
||||
createCustomFieldGroup: 'Egyedi mezőcsoport létrehozása',
|
||||
createFile: 'Fájl létrehozása',
|
||||
@@ -387,6 +402,7 @@ export default {
|
||||
deactivateUser: 'Felhasználó inaktiválása',
|
||||
deactivateUser_title: 'Felhasználó inaktiválása',
|
||||
delete: 'Törlés',
|
||||
deleteApiKey: 'API kulcs törlése',
|
||||
deleteAttachment: 'Melléklet törlése',
|
||||
deleteAvatar: 'Avatar törlése',
|
||||
deleteBackgroundImage: 'Háttérkép törlése',
|
||||
@@ -445,6 +461,7 @@ export default {
|
||||
move: 'Áthelyezés',
|
||||
moveCard_title: 'Kártya áthelyezése',
|
||||
moveList_title: 'Lista áthelyezése',
|
||||
regenerateApiKey: 'API kulcs újragenerálása',
|
||||
remove: 'Eltávolítás',
|
||||
removeAssignee: 'Felelős eltávolítása',
|
||||
removeColor: 'Szín eltávolítása',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Semua perubahan akan disimpan<br />setelah koneksi pulih.',
|
||||
alphabetically: 'Berdasarkan abjad',
|
||||
alwaysDisplayCardCreator: 'Selalu tampilkan pembuat kartu',
|
||||
apiKeyCreated_title: 'Kunci API Dibuat',
|
||||
apiKey_title: 'Kunci API',
|
||||
archive: 'Arsip',
|
||||
archiveCard_title: 'Arsipkan kartu',
|
||||
archiveCards_title: 'Arsipkan kartu',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Apakah Anda yakin ingin menetapkan manajer proyek ini sebagai pemilik?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Apakah Anda yakin ingin menonaktifkan pengguna ini?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Apakah Anda yakin ingin menghapus kunci API ini?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Apakah anda ingin menghapus lampiran ini?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Apakah Anda yakin ingin menghapus gambar latar belakang ini?',
|
||||
@@ -78,6 +81,8 @@ export default {
|
||||
'Apakah Anda yakin ingin menjadikan proyek ini pribadi?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Apakah Anda yakin ingin menjadikan proyek ini bersama?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Apakah Anda yakin ingin membuat ulang kunci API ini? Kunci sebelumnya tidak akan berfungsi lagi.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Apakah anda ingin menghapus manajer ini dari papan ini?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -132,6 +137,7 @@ export default {
|
||||
createTextFile_title: 'Buat berkas teks',
|
||||
creator: 'Pembuat',
|
||||
currentPassword: 'Kata sandi sekarang',
|
||||
currentUser: 'Pengguna saat ini',
|
||||
customFieldGroup_title: 'Grup bidang kustom',
|
||||
customFieldGroups_title: 'Grup bidang kustom',
|
||||
customField_title: 'Bidang kustom',
|
||||
@@ -144,6 +150,7 @@ export default {
|
||||
defaultView_title: 'Tampilan default',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Hapus semua papan untuk dapat menghapus proyek ini',
|
||||
deleteApiKey_title: 'Hapus Kunci API',
|
||||
deleteAttachment_title: 'Hapus lampiran',
|
||||
deleteBackgroundImage_title: 'Hapus gambar latar belakang',
|
||||
deleteBoard_title: 'Hapus papan',
|
||||
@@ -199,6 +206,8 @@ export default {
|
||||
forTeamBasedProjects: 'Untuk proyek berbasis tim.',
|
||||
fromComputer_title: 'Dari komputer',
|
||||
fromTrello: 'Dari Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Kunci lengkap disembunyikan karena alasan keamanan. Buat ulang untuk membuat yang baru.',
|
||||
general: 'Umum',
|
||||
gradients: 'Gradien',
|
||||
grid: 'Kisi',
|
||||
@@ -206,7 +215,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Sembunyikan dari daftar proyek dan favorit',
|
||||
host: 'Host',
|
||||
hours: 'Jam',
|
||||
identity: 'Identitas',
|
||||
importBoard_title: 'Impor papan',
|
||||
information: 'Informasi',
|
||||
invalidCurrentPassword: 'Kata sandi saat ini tidak valid',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Label',
|
||||
@@ -235,6 +246,7 @@ export default {
|
||||
newUsername: 'Username baru',
|
||||
newVersionAvailable: 'Versi baru tersedia',
|
||||
newestFirst: 'Terbaru dulu',
|
||||
noApiKeyCreated: 'Belum ada kunci API yang dibuat.',
|
||||
noBoards: 'Tidak ada papan',
|
||||
noCardsFound: 'Tidak ada kartu ditemukan.',
|
||||
noConnectionToServer: 'Tidak ada koneksi ke server',
|
||||
@@ -262,10 +274,12 @@ export default {
|
||||
projectNotFound_title: 'Proyek tidak ditemukan',
|
||||
projectOwner: 'Pemilik proyek',
|
||||
referenceDataAndKnowledgeStorage: 'Penyimpanan data referensi dan pengetahuan.',
|
||||
regenerateApiKey_title: 'Buat Ulang Kunci API',
|
||||
rejectUnauthorizedTlsCertificates: 'Tolak sertifikat TLS yang tidak sah',
|
||||
removeManager_title: 'Hapus manager',
|
||||
removeMember_title: 'Hapus anggota',
|
||||
role: 'Peran',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Simpan kunci ini — tidak akan ditampilkan lagi!',
|
||||
searchCards: 'Cari kartu...',
|
||||
searchCustomFieldGroups: 'Cari grup bidang kustom...',
|
||||
searchCustomFields: 'Cari bidang kustom...',
|
||||
@@ -379,6 +393,7 @@ export default {
|
||||
archiveCards_title: 'Arsipkan kartu',
|
||||
assignAsOwner: 'Tetapkan sebagai pemilik',
|
||||
cancel: 'Batal',
|
||||
createApiKey: 'Buat kunci API',
|
||||
createBoard: 'Tambah papan',
|
||||
createCustomFieldGroup: 'Buat grup bidang kustom',
|
||||
createFile: 'Tambah berkas',
|
||||
@@ -388,6 +403,7 @@ export default {
|
||||
deactivateUser: 'Nonaktifkan pengguna',
|
||||
deactivateUser_title: 'Nonaktifkan pengguna',
|
||||
delete: 'Hapus',
|
||||
deleteApiKey: 'Hapus kunci API',
|
||||
deleteAttachment: 'Hapus lampiran',
|
||||
deleteAvatar: 'Hapus avatar',
|
||||
deleteBackgroundImage: 'Hapus gambar latar belakang',
|
||||
@@ -446,6 +462,7 @@ export default {
|
||||
move: 'Pindah',
|
||||
moveCard_title: 'Pindahkan kartu',
|
||||
moveList_title: 'Pindahkan daftar',
|
||||
regenerateApiKey: 'Buat ulang kunci API',
|
||||
remove: 'Hapus',
|
||||
removeAssignee: 'Hapus penerima tugas',
|
||||
removeColor: 'Hapus warna',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Tutte le modifiche verranno salvate<br />al ripristino della connessione.',
|
||||
alphabetically: 'In ordine alfabetico',
|
||||
alwaysDisplayCardCreator: 'Mostra sempre il creatore della scheda',
|
||||
apiKeyCreated_title: 'Chiave API creata',
|
||||
apiKey_title: 'Chiave API',
|
||||
archive: 'Archivia',
|
||||
archiveCard_title: 'Archivia scheda',
|
||||
archiveCards_title: 'Archivia schede',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Sei sicuro di voler assegnare questo project manager come proprietario?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Sei sicuro di voler disattivare questo utente?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Sei sicuro di voler eliminare questa chiave API?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Sei sicuro di voler eliminare questo allegato?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Sei sicuro di voler eliminare questa immagine di sfondo?',
|
||||
@@ -78,6 +81,8 @@ export default {
|
||||
'Sei sicuro di voler rendere questo progetto privato?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Sei sicuro di voler rendere questo progetto condiviso?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Sei sicuro di voler rigenerare questa chiave API? La chiave precedente non funzionerà più.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Sei sicuro di voler rimuovere questo amministratore dal progetto?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -132,6 +137,7 @@ export default {
|
||||
createTextFile_title: 'Crea file di testo',
|
||||
creator: 'Creatore',
|
||||
currentPassword: 'Password attuale',
|
||||
currentUser: 'Utente corrente',
|
||||
customFieldGroup_title: 'Campi personalizzati',
|
||||
customFieldGroups_title: 'Campi personalizzati',
|
||||
customField_title: 'Campo personalizzato',
|
||||
@@ -144,6 +150,7 @@ export default {
|
||||
defaultView_title: 'Vista predefinita',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Elimina tutte le bacheche per poter eliminare questo progetto.',
|
||||
deleteApiKey_title: 'Elimina chiave API',
|
||||
deleteAttachment_title: 'Elimina allegato',
|
||||
deleteBackgroundImage_title: 'Elimina immagine di sfondo',
|
||||
deleteBoard_title: 'Elimina bacheca',
|
||||
@@ -199,6 +206,8 @@ export default {
|
||||
forTeamBasedProjects: 'Per progetti di gruppo.',
|
||||
fromComputer_title: 'Dal computer',
|
||||
fromTrello: 'Da Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'La chiave completa è nascosta per motivi di sicurezza. Rigenerala per crearne una nuova.',
|
||||
general: 'Generale',
|
||||
gradients: 'Gradiente',
|
||||
grid: 'Griglia',
|
||||
@@ -206,7 +215,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Nascondi dalla lista dei progetti e dai preferiti',
|
||||
host: 'Host',
|
||||
hours: 'Ore',
|
||||
identity: 'Identità',
|
||||
importBoard_title: 'Importa board',
|
||||
information: 'Informazione',
|
||||
invalidCurrentPassword: 'Password corrente non valida',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Etichette',
|
||||
@@ -235,6 +246,7 @@ export default {
|
||||
newUsername: 'Nuovo username',
|
||||
newVersionAvailable: 'Nuova versione disponibile',
|
||||
newestFirst: 'Dal più recente',
|
||||
noApiKeyCreated: 'Nessuna chiave API creata.',
|
||||
noBoards: 'Nessuna bacheca',
|
||||
noCardsFound: 'Nessuna scheda trovata.',
|
||||
noConnectionToServer: 'Nessuna connessione al server',
|
||||
@@ -262,10 +274,12 @@ export default {
|
||||
projectNotFound_title: 'Progetto non trovato',
|
||||
projectOwner: 'Proprietario del progetto',
|
||||
referenceDataAndKnowledgeStorage: 'Dati di riferimento e di archiviazione.',
|
||||
regenerateApiKey_title: 'Rigenera chiave API',
|
||||
rejectUnauthorizedTlsCertificates: 'Rifiuta certificati TLS non autorizzati',
|
||||
removeManager_title: 'Rimuovi manager',
|
||||
removeMember_title: 'Rimuovi membro',
|
||||
role: 'Ruolo',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Salva questa chiave — non verrà più mostrata!',
|
||||
searchCards: 'Cerca schede...',
|
||||
searchCustomFieldGroups: 'Cerca campi personalizzati...',
|
||||
searchCustomFields: 'Cerca campi personalizzati...',
|
||||
@@ -380,6 +394,7 @@ export default {
|
||||
archiveCards_title: 'Archivia schede',
|
||||
assignAsOwner: 'Assegna come proprietario',
|
||||
cancel: 'Annulla',
|
||||
createApiKey: 'Crea chiave API',
|
||||
createBoard: 'Crea bacheca',
|
||||
createCustomFieldGroup: 'Crea campi personalizzati',
|
||||
createFile: 'Crea file',
|
||||
@@ -389,6 +404,7 @@ export default {
|
||||
deactivateUser: 'Disattiva utente',
|
||||
deactivateUser_title: 'Disattiva utente',
|
||||
delete: 'Elimina',
|
||||
deleteApiKey: 'Elimina chiave API',
|
||||
deleteAttachment: 'Elimina allegato',
|
||||
deleteAvatar: 'Elimina avatar',
|
||||
deleteBackgroundImage: 'Elimina immagine di sfondo',
|
||||
@@ -447,6 +463,7 @@ export default {
|
||||
move: 'Muovi',
|
||||
moveCard_title: 'Muovi scheda',
|
||||
moveList_title: 'Muovi lista',
|
||||
regenerateApiKey: 'Rigenera chiave API',
|
||||
remove: 'Rimuovi',
|
||||
removeAssignee: 'Rimuovi assegnatario',
|
||||
removeColor: 'Rimuovi colore',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'全ての変更は接続回復後<br />自動的に保存されます。',
|
||||
alphabetically: 'アルファベット順',
|
||||
alwaysDisplayCardCreator: 'カード作成者を常に表示',
|
||||
apiKeyCreated_title: 'APIキーが作成されました',
|
||||
apiKey_title: 'APIキー',
|
||||
archive: 'アーカイブ',
|
||||
archiveCard_title: 'カードをアーカイブ',
|
||||
archiveCards_title: 'カードをアーカイブ',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'このプロジェクトマネージャーをオーナーに割り当ててもよろしいですか?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'このユーザーを非アクティブにしてもよろしいですか?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'このAPIキーを削除してもよろしいですか?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'この添付ファイルを削除してもよろしいですか?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage: 'この背景画像を削除してもよろしいですか?',
|
||||
areYouSureYouWantToDeleteThisBoard: 'このボードを削除してもよろしいですか?',
|
||||
@@ -75,6 +78,8 @@ export default {
|
||||
areYouSureYouWantToMakeThisProjectPrivate:
|
||||
'このプロジェクトをプライベートにしてもよろしいですか?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'このプロジェクトを共有にしてもよろしいですか?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'このAPIキーを再生成してもよろしいですか?以前のキーは使用できなくなります。',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'このマネージャーをプロジェクトから外してもよろしいですか?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -128,6 +133,7 @@ export default {
|
||||
createTextFile_title: 'テキストファイルを作成',
|
||||
creator: '作成者',
|
||||
currentPassword: '現在のパスワード',
|
||||
currentUser: '現在のユーザー',
|
||||
customFieldGroup_title: 'カスタムフィールドグループ',
|
||||
customFieldGroups_title: 'カスタムフィールドグループ',
|
||||
customField_title: 'カスタムフィールド',
|
||||
@@ -140,6 +146,7 @@ export default {
|
||||
defaultView_title: 'デフォルトビュー',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'このプロジェクトを削除するには、すべてのボードを削除してください',
|
||||
deleteApiKey_title: 'APIキーを削除',
|
||||
deleteAttachment_title: '添付ファイルを削除',
|
||||
deleteBackgroundImage_title: '背景画像を削除',
|
||||
deleteBoard_title: 'ボードを削除',
|
||||
@@ -195,6 +202,8 @@ export default {
|
||||
forTeamBasedProjects: 'チームベースプロジェクト用。',
|
||||
fromComputer_title: 'コンピューターから',
|
||||
fromTrello: 'Trelloから',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'セキュリティ上の理由により、完全なキーは非表示になっています。新しいキーを作成するには再生成してください。',
|
||||
general: '一般',
|
||||
gradients: 'グラデーション',
|
||||
grid: 'グリッド',
|
||||
@@ -202,7 +211,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'プロジェクトリストとお気に入りから非表示',
|
||||
host: 'ホスト',
|
||||
hours: '時間',
|
||||
identity: '身元',
|
||||
importBoard_title: 'インポートボード',
|
||||
information: '情報',
|
||||
invalidCurrentPassword: '現在のパスワードが無効',
|
||||
kanban: 'カンバン',
|
||||
labels: 'ラベル',
|
||||
@@ -231,6 +242,7 @@ export default {
|
||||
newUsername: '新しいユーザー名',
|
||||
newVersionAvailable: '新しいバージョンが利用可能',
|
||||
newestFirst: '新しい順',
|
||||
noApiKeyCreated: 'APIキーが作成されていません。',
|
||||
noBoards: 'ボードがありません',
|
||||
noCardsFound: 'カードが見つかりません。',
|
||||
noConnectionToServer: 'サーバーへ接続されていません',
|
||||
@@ -258,10 +270,12 @@ export default {
|
||||
projectNotFound_title: 'プロジェクトがありません',
|
||||
projectOwner: 'プロジェクトオーナー',
|
||||
referenceDataAndKnowledgeStorage: '参照データと知識の保存。',
|
||||
regenerateApiKey_title: 'APIキーを再生成',
|
||||
rejectUnauthorizedTlsCertificates: '未承認のTLS証明書を拒否',
|
||||
removeManager_title: 'マネージャーを削除',
|
||||
removeMember_title: 'メンバーを削除',
|
||||
role: '役割',
|
||||
saveThisKeyItWillNotBeShownAgain: 'このキーを保存してください。再表示されません!',
|
||||
searchCards: 'カードを検索...',
|
||||
searchCustomFieldGroups: 'カスタムフィールドグループを検索...',
|
||||
searchCustomFields: 'カスタムフィールドを検索...',
|
||||
@@ -376,6 +390,7 @@ export default {
|
||||
archiveCards_title: 'カードをアーカイブ',
|
||||
assignAsOwner: 'オーナーとして割り当て',
|
||||
cancel: 'キャンセル',
|
||||
createApiKey: 'APIキーを作成',
|
||||
createBoard: 'ボードを作成',
|
||||
createCustomFieldGroup: 'カスタムフィールドグループを作成',
|
||||
createFile: 'ファイルを作成',
|
||||
@@ -385,6 +400,7 @@ export default {
|
||||
deactivateUser: 'ユーザーを非アクティブにする',
|
||||
deactivateUser_title: 'ユーザーを非アクティブにする',
|
||||
delete: '削除',
|
||||
deleteApiKey: 'APIキーを削除',
|
||||
deleteAttachment: '添付ファイルを削除',
|
||||
deleteAvatar: 'アバターを削除',
|
||||
deleteBackgroundImage: '背景画像を削除',
|
||||
@@ -443,6 +459,7 @@ export default {
|
||||
move: '移動',
|
||||
moveCard_title: 'カードを移動',
|
||||
moveList_title: 'リストを移動',
|
||||
regenerateApiKey: 'APIキーを再生成',
|
||||
remove: '削除',
|
||||
removeAssignee: '担当者を削除',
|
||||
removeColor: '色を削除',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'연결이 복구되면 모든 변경 사항이<br />자동으로 저장됩니다.',
|
||||
alphabetically: '알파벳순',
|
||||
alwaysDisplayCardCreator: '항상 카드 생성자 표시',
|
||||
apiKeyCreated_title: 'API 키 생성됨',
|
||||
apiKey_title: 'API 키',
|
||||
archive: '보관',
|
||||
archiveCard_title: '카드 보관',
|
||||
archiveCards_title: '카드들 보관',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'이 프로젝트 관리자를 소유자로 지정하시겠습니까?',
|
||||
areYouSureYouWantToDeactivateThisUser: '이 사용자를 비활성화하시겠습니까?',
|
||||
areYouSureYouWantToDeleteThisApiKey: '이 API 키를 삭제하시겠습니까?',
|
||||
areYouSureYouWantToDeleteThisAttachment: '이 첨부 파일을 삭제하시겠습니까?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage: '이 배경 이미지를 삭제하시겠습니까?',
|
||||
areYouSureYouWantToDeleteThisBoard: '이 보드를 삭제하시겠습니까?',
|
||||
@@ -71,6 +74,8 @@ export default {
|
||||
areYouSureYouWantToLeaveProject: '이 프로젝트를 떠나시겠습니까?',
|
||||
areYouSureYouWantToMakeThisProjectPrivate: '이 프로젝트를 비공개로 만드시겠습니까?',
|
||||
areYouSureYouWantToMakeThisProjectShared: '이 프로젝트를 공유하시겠습니까?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'이 API 키를 재생성하시겠습니까? 이전 키는 더 이상 작동하지 않습니다.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject: '이 관리자를 프로젝트에서 제거하시겠습니까?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard: '이 멤버를 보드에서 제거하시겠습니까?',
|
||||
assignAsOwner_title: '소유자로 지정',
|
||||
@@ -123,6 +128,7 @@ export default {
|
||||
createTextFile_title: '텍스트 파일 생성',
|
||||
creator: '생성자',
|
||||
currentPassword: '현재 비밀번호',
|
||||
currentUser: '현재 사용자',
|
||||
customFieldGroup_title: '사용자 정의 필드 그룹',
|
||||
customFieldGroups_title: '사용자 정의 필드 그룹들',
|
||||
customField_title: '사용자 정의 필드',
|
||||
@@ -134,6 +140,7 @@ export default {
|
||||
defaultFrom: '기본 발신자',
|
||||
defaultView_title: '기본 보기',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject: '이 프로젝트를 삭제하려면 모든 보드를 삭제하세요',
|
||||
deleteApiKey_title: 'API 키 삭제',
|
||||
deleteAttachment_title: '첨부 파일 삭제',
|
||||
deleteBackgroundImage_title: '배경 이미지 삭제',
|
||||
deleteBoard_title: '보드 삭제',
|
||||
@@ -189,6 +196,8 @@ export default {
|
||||
forTeamBasedProjects: '팀 기반 프로젝트용.',
|
||||
fromComputer_title: '컴퓨터에서',
|
||||
fromTrello: 'Trello에서',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'보안상의 이유로 전체 키가 숨겨져 있습니다. 새 키를 만들려면 재생성하십시오.',
|
||||
general: '일반',
|
||||
gradients: '그라데이션',
|
||||
grid: '격자',
|
||||
@@ -196,7 +205,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: '프로젝트 목록과 즐겨찾기에서 숨기기',
|
||||
host: '호스트',
|
||||
hours: '시간',
|
||||
identity: '신원',
|
||||
importBoard_title: '보드 가져오기',
|
||||
information: '정보',
|
||||
invalidCurrentPassword: '잘못된 현재 비밀번호',
|
||||
kanban: '칸반',
|
||||
labels: '라벨',
|
||||
@@ -225,6 +236,7 @@ export default {
|
||||
newUsername: '새 사용자 이름',
|
||||
newVersionAvailable: '새 버전 사용 가능',
|
||||
newestFirst: '최신순',
|
||||
noApiKeyCreated: '생성된 API 키가 없습니다.',
|
||||
noBoards: '보드 없음',
|
||||
noCardsFound: '카드를 찾을 수 없음.',
|
||||
noConnectionToServer: '서버에 연결되지 않음',
|
||||
@@ -252,10 +264,12 @@ export default {
|
||||
projectNotFound_title: '프로젝트를 찾을 수 없음',
|
||||
projectOwner: '프로젝트 소유자',
|
||||
referenceDataAndKnowledgeStorage: '참조 데이터 및 지식 저장소.',
|
||||
regenerateApiKey_title: 'API 키 재생성',
|
||||
rejectUnauthorizedTlsCertificates: '승인되지 않은 TLS 인증서 거부',
|
||||
removeManager_title: '관리자 제거',
|
||||
removeMember_title: '멤버 제거',
|
||||
role: '역할',
|
||||
saveThisKeyItWillNotBeShownAgain: '이 키를 저장하세요. 다시 표시되지 않습니다!',
|
||||
searchCards: '카드 검색...',
|
||||
searchCustomFieldGroups: '사용자 정의 필드 그룹 검색...',
|
||||
searchCustomFields: '사용자 정의 필드 검색...',
|
||||
@@ -373,6 +387,7 @@ export default {
|
||||
archiveCards_title: '카드들 보관',
|
||||
assignAsOwner: '소유자로 지정',
|
||||
cancel: '취소',
|
||||
createApiKey: 'API 키 생성',
|
||||
createBoard: '보드 생성',
|
||||
createCustomFieldGroup: '사용자 정의 필드 그룹 생성',
|
||||
createFile: '파일 생성',
|
||||
@@ -382,6 +397,7 @@ export default {
|
||||
deactivateUser: '사용자 비활성화',
|
||||
deactivateUser_title: '사용자 비활성화',
|
||||
delete: '삭제',
|
||||
deleteApiKey: 'API 키 삭제',
|
||||
deleteAttachment: '첨부 파일 삭제',
|
||||
deleteAvatar: '아바타 삭제',
|
||||
deleteBackgroundImage: '배경 이미지 삭제',
|
||||
@@ -440,6 +456,7 @@ export default {
|
||||
move: '이동',
|
||||
moveCard_title: '카드 이동',
|
||||
moveList_title: '목록 이동',
|
||||
regenerateApiKey: 'API 키 재생성',
|
||||
remove: '제거',
|
||||
removeAssignee: '담당자 제거',
|
||||
removeColor: '색상 제거',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Alle wijzigingen worden automatisch opgeslagen<br />nadat de verbinding is hersteld.',
|
||||
alphabetically: 'Alfabetisch',
|
||||
alwaysDisplayCardCreator: 'Kaartmaker altijd weergeven',
|
||||
apiKeyCreated_title: 'API-sleutel aangemaakt',
|
||||
apiKey_title: 'API-sleutel',
|
||||
archive: 'Archief',
|
||||
archiveCard_title: 'Kaart archiveren',
|
||||
archiveCards_title: 'Kaarten archiveren',
|
||||
@@ -49,6 +51,8 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Weet u zeker dat u deze projectmanager als eigenaar wilt toewijzen?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Weet u zeker dat u deze gebruiker wilt deactiveren?',
|
||||
areYouSureYouWantToDeleteThisApiKey:
|
||||
'Weet je zeker dat je deze API-sleutel wilt verwijderen?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Weet u zeker dat u deze bijlage wilt verwijderen?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Weet u zeker dat u deze achtergrondafbeelding wilt verwijderen?',
|
||||
@@ -77,6 +81,8 @@ export default {
|
||||
areYouSureYouWantToMakeThisProjectPrivate: 'Weet u zeker dat u dit project privé wilt maken?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Weet u zeker dat u dit project gedeeld wilt maken?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Weet je zeker dat je deze API-sleutel opnieuw wilt genereren? De vorige sleutel werkt niet meer.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Weet u zeker dat u deze manager uit het project wilt verwijderen?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -130,6 +136,7 @@ export default {
|
||||
createTextFile_title: 'Tekstbestand aanmaken',
|
||||
creator: 'Maker',
|
||||
currentPassword: 'Huidig wachtwoord',
|
||||
currentUser: 'Huidige gebruiker',
|
||||
customFieldGroup_title: 'Aangepaste veldgroep',
|
||||
customFieldGroups_title: 'Aangepaste veldgroepen',
|
||||
customField_title: 'Aangepast veld',
|
||||
@@ -142,6 +149,7 @@ export default {
|
||||
defaultView_title: 'Standaardweergave',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Verwijder alle borden om dit project te kunnen verwijderen',
|
||||
deleteApiKey_title: 'API-sleutel verwijderen',
|
||||
deleteAttachment_title: 'Bijlage verwijderen',
|
||||
deleteBackgroundImage_title: 'Achtergrondafbeelding verwijderen',
|
||||
deleteBoard_title: 'Bord verwijderen',
|
||||
@@ -197,6 +205,8 @@ export default {
|
||||
forTeamBasedProjects: 'Voor teamgebaseerde projecten.',
|
||||
fromComputer_title: 'Van computer',
|
||||
fromTrello: 'Van Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'De volledige sleutel is om veiligheidsredenen verborgen. Genereer deze opnieuw om een nieuwe te maken.',
|
||||
general: 'Algemeen',
|
||||
gradients: 'Verlopen',
|
||||
grid: 'Raster',
|
||||
@@ -204,7 +214,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Verbergen uit projectlijst en favorieten',
|
||||
host: 'Host',
|
||||
hours: 'Uren',
|
||||
identity: 'Identiteit',
|
||||
importBoard_title: 'Bord importeren',
|
||||
information: 'Informatie',
|
||||
invalidCurrentPassword: 'Ongeldig huidig wachtwoord',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Labels',
|
||||
@@ -233,6 +245,7 @@ export default {
|
||||
newUsername: 'Nieuwe gebruikersnaam',
|
||||
newVersionAvailable: 'Nieuwe versie beschikbaar',
|
||||
newestFirst: 'Nieuwste eerst',
|
||||
noApiKeyCreated: 'Geen API-sleutel aangemaakt.',
|
||||
noBoards: 'Geen borden',
|
||||
noCardsFound: 'Geen kaarten gevonden.',
|
||||
noConnectionToServer: 'Geen verbinding met server',
|
||||
@@ -260,10 +273,12 @@ export default {
|
||||
projectNotFound_title: 'Project niet gevonden',
|
||||
projectOwner: 'Projecteigenaar',
|
||||
referenceDataAndKnowledgeStorage: 'Referentiegegevens en kennisopslag.',
|
||||
regenerateApiKey_title: 'API-sleutel opnieuw genereren',
|
||||
rejectUnauthorizedTlsCertificates: 'Niet-geautoriseerde TLS-certificaten weigeren',
|
||||
removeManager_title: 'Manager verwijderen',
|
||||
removeMember_title: 'Lid verwijderen',
|
||||
role: 'Rol',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Bewaar deze sleutel — deze wordt niet opnieuw getoond!',
|
||||
searchCards: 'Kaarten zoeken...',
|
||||
searchCustomFieldGroups: 'Aangepaste veldgroepen zoeken...',
|
||||
searchCustomFields: 'Aangepaste velden zoeken...',
|
||||
@@ -380,6 +395,7 @@ export default {
|
||||
archiveCards_title: 'Kaarten archiveren',
|
||||
assignAsOwner: 'Toewijzen als eigenaar',
|
||||
cancel: 'Annuleren',
|
||||
createApiKey: 'API-sleutel aanmaken',
|
||||
createBoard: 'Bord aanmaken',
|
||||
createCustomFieldGroup: 'Aangepaste veldgroep aanmaken',
|
||||
createFile: 'Bestand aanmaken',
|
||||
@@ -389,6 +405,7 @@ export default {
|
||||
deactivateUser: 'Gebruiker deactiveren',
|
||||
deactivateUser_title: 'Gebruiker deactiveren',
|
||||
delete: 'Verwijderen',
|
||||
deleteApiKey: 'API-sleutel verwijderen',
|
||||
deleteAttachment: 'Bijlage verwijderen',
|
||||
deleteAvatar: 'Avatar verwijderen',
|
||||
deleteBackgroundImage: 'Achtergrondafbeelding verwijderen',
|
||||
@@ -447,6 +464,7 @@ export default {
|
||||
move: 'Verplaatsen',
|
||||
moveCard_title: 'Kaart verplaatsen',
|
||||
moveList_title: 'Lijst verplaatsen',
|
||||
regenerateApiKey: 'API-sleutel opnieuw genereren',
|
||||
remove: 'Verwijderen',
|
||||
removeAssignee: 'Toegewezene verwijderen',
|
||||
removeColor: 'Kleur verwijderen',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Wszystkie zmiany zostaną automatycznie zapisane<br />po przywróceniu połączenia.',
|
||||
alphabetically: 'Alfabetycznie',
|
||||
alwaysDisplayCardCreator: 'Zawsze pokazuj twórcę karty',
|
||||
apiKeyCreated_title: 'Klucz API utworzony',
|
||||
apiKey_title: 'Klucz API',
|
||||
archive: 'Archiwum',
|
||||
archiveCard_title: 'Archiwizuj kartę',
|
||||
archiveCards_title: 'Archiwizuj karty',
|
||||
@@ -50,6 +52,7 @@ export default {
|
||||
'Jesteś pewien że chcesz przypisać tego zarządcę jako właściciela projektu?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Jesteś pewien że chcesz dezaktywować tego użytkownika?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Czy na pewno chcesz usunąć ten klucz API?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Jesteś pewien że chcesz usunąć ten załącznik?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage: 'Jesteś pewien że chcesz usunąć to tło?',
|
||||
areYouSureYouWantToDeleteThisBoard: 'Jesteś pewien że chcesz usunąć tę tablicę?',
|
||||
@@ -77,6 +80,8 @@ export default {
|
||||
areYouSureYouWantToMakeThisProjectPrivate:
|
||||
'Jesteś pewien że chcesz uczynić ten projekt prywatnym?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Jesteś pewien że chcesz udostępnić ten projekt?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Czy na pewno chcesz wygenerować ponownie ten klucz API? Poprzedni klucz przestanie działać.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Jesteś pewien że chcesz usunąć tego zarządcę z projektu?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -130,6 +135,7 @@ export default {
|
||||
createTextFile_title: 'Utwórz plik tekstowy',
|
||||
creator: 'Twórca',
|
||||
currentPassword: 'Obecne hasło',
|
||||
currentUser: 'Bieżący użytkownik',
|
||||
customFieldGroup_title: 'Grupa pól własnych',
|
||||
customFieldGroups_title: 'Grupy pól własnych',
|
||||
customField_title: 'Własne pole',
|
||||
@@ -142,6 +148,7 @@ export default {
|
||||
defaultView_title: 'Domyślny widok',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Usuń wszystkie tablice, aby móc usunąć ten projekt',
|
||||
deleteApiKey_title: 'Usuń klucz API',
|
||||
deleteAttachment_title: 'Usuń załącznik',
|
||||
deleteBackgroundImage_title: 'Usuń tło',
|
||||
deleteBoard_title: 'Usuń tablicę',
|
||||
@@ -197,6 +204,8 @@ export default {
|
||||
forTeamBasedProjects: 'Dla projektów zespołowych.',
|
||||
fromComputer_title: 'Z komputera',
|
||||
fromTrello: 'Z Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Pełny klucz jest ukryty ze względów bezpieczeństwa. Wygeneruj go ponownie, aby utworzyć nowy.',
|
||||
general: 'Ogólne',
|
||||
gradients: 'Gradienty',
|
||||
grid: 'Siatka',
|
||||
@@ -204,7 +213,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Ukryj z listy projektów i ulubionych',
|
||||
host: 'Host',
|
||||
hours: 'Godzin',
|
||||
identity: 'Tożsamość',
|
||||
importBoard_title: 'Importuj tablicę',
|
||||
information: 'Informacja',
|
||||
invalidCurrentPassword: 'Błędne obecne hasło',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Oznaczenia',
|
||||
@@ -233,6 +244,7 @@ export default {
|
||||
newUsername: 'Nowa nazwa użytkownika',
|
||||
newVersionAvailable: 'Nowa wersja dostępna',
|
||||
newestFirst: 'Najpierw najnowsze',
|
||||
noApiKeyCreated: 'Nie utworzono klucza API.',
|
||||
noBoards: 'Brak tablic',
|
||||
noCardsFound: 'Nie znaleziono kart.',
|
||||
noConnectionToServer: 'Brak połączenia z serwerem',
|
||||
@@ -260,10 +272,12 @@ export default {
|
||||
projectNotFound_title: 'Projektu nie znaleziono',
|
||||
projectOwner: 'Właściciel projektu',
|
||||
referenceDataAndKnowledgeStorage: 'Odnoś się do danych i przechowuj wiedzę.',
|
||||
regenerateApiKey_title: 'Wygeneruj ponownie klucz API',
|
||||
rejectUnauthorizedTlsCertificates: 'Odrzuć nieautoryzowane certyfikaty TLS',
|
||||
removeManager_title: 'Usuń zarządcę',
|
||||
removeMember_title: 'Usuń członka',
|
||||
role: 'Rola',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Zapisz ten klucz — nie zostanie ponownie wyświetlony!',
|
||||
searchCards: 'Szukaj kart...',
|
||||
searchCustomFieldGroups: 'Szukaj grup pól własnych...',
|
||||
searchCustomFields: 'Szukaj pól własnych...',
|
||||
@@ -377,6 +391,7 @@ export default {
|
||||
archiveCards_title: 'Archiwizuj karty',
|
||||
assignAsOwner: 'Przypisz jako właściciela',
|
||||
cancel: 'Anuluj',
|
||||
createApiKey: 'Utwórz klucz API',
|
||||
createBoard: 'Utwórz tablicę',
|
||||
createCustomFieldGroup: 'Utwórz grupę pól własnych',
|
||||
createFile: 'Utwórz plik',
|
||||
@@ -386,6 +401,7 @@ export default {
|
||||
deactivateUser: 'Dezaktywuj użytkownika',
|
||||
deactivateUser_title: 'Dezaktywuj użytkownika',
|
||||
delete: 'Usuń',
|
||||
deleteApiKey: 'Usuń klucz API',
|
||||
deleteAttachment: 'Usuń attachment',
|
||||
deleteAvatar: 'Usuń awatar',
|
||||
deleteBackgroundImage: 'Usuń tło',
|
||||
@@ -444,6 +460,7 @@ export default {
|
||||
move: 'Przenieś',
|
||||
moveCard_title: 'Przenieś kartę',
|
||||
moveList_title: 'Przenieś listę',
|
||||
regenerateApiKey: 'Wygeneruj ponownie klucz API',
|
||||
remove: 'Usuń',
|
||||
removeAssignee: 'Usuń osobę przypisaną',
|
||||
removeColor: 'Usuń kolor',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Todas as alterações serão salvas automaticamente<br />após a conexão ser restaurada.',
|
||||
alphabetically: 'Em ordem alfabética',
|
||||
alwaysDisplayCardCreator: 'Sempre exibir criador do cartão',
|
||||
apiKeyCreated_title: 'Chave API criada',
|
||||
apiKey_title: 'Chave API',
|
||||
archive: 'Arquivar',
|
||||
archiveCard_title: 'Arquivar cartão',
|
||||
archiveCards_title: 'Arquivar cartões',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Tem certeza de que deseja atribuir este gerente de projeto como proprietário?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Tem certeza de que deseja desativar este usuário?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Tem certeza de que deseja excluir esta chave API?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Tem certeza de que deseja excluir este anexo?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Tem certeza que deseja excluir esta imagem de fundo?',
|
||||
@@ -79,6 +82,8 @@ export default {
|
||||
'Tem certeza de que deseja tornar este projeto privado?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Tem certeza de que deseja tornar este projeto compartilhado?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Tem certeza de que deseja regenerar esta chave API? A chave anterior não funcionará mais.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Tem certeza de que deseja remover este gerente do projeto?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -133,6 +138,7 @@ export default {
|
||||
createTextFile_title: 'Criar arquivo de texto',
|
||||
creator: 'Criador',
|
||||
currentPassword: 'Senha atual',
|
||||
currentUser: 'Usuário atual',
|
||||
customFieldGroup_title: 'Grupo de campo personalizado',
|
||||
customFieldGroups_title: 'Grupos de campo personalizado',
|
||||
customField_title: 'Campo personalizado',
|
||||
@@ -145,6 +151,7 @@ export default {
|
||||
defaultView_title: 'Visualização padrão',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Excluir todos os quadros para poder excluir este projeto',
|
||||
deleteApiKey_title: 'Excluir chave API',
|
||||
deleteAttachment_title: 'Excluir anexo',
|
||||
deleteBackgroundImage_title: 'Excluir imagem de fundo',
|
||||
deleteBoard_title: 'Excluir quadro',
|
||||
@@ -200,6 +207,8 @@ export default {
|
||||
forTeamBasedProjects: 'Para projetos em equipe.',
|
||||
fromComputer_title: 'Do computador',
|
||||
fromTrello: 'Do Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'A chave completa está oculta por motivos de segurança. Regenere-a para criar uma nova.',
|
||||
general: 'Geral',
|
||||
gradients: 'Gradientes',
|
||||
grid: 'Grade',
|
||||
@@ -207,7 +216,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Ocultar da lista de projetos e favoritos',
|
||||
host: 'Host',
|
||||
hours: 'Horas',
|
||||
identity: 'Identidade',
|
||||
importBoard_title: 'Importar quadro',
|
||||
information: 'Informação',
|
||||
invalidCurrentPassword: 'Senha atual inválida',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Rótulos',
|
||||
@@ -236,6 +247,7 @@ export default {
|
||||
newUsername: 'Novo nome de usuário',
|
||||
newVersionAvailable: 'Nova versão disponível',
|
||||
newestFirst: 'Mais recentes primeiro',
|
||||
noApiKeyCreated: 'Nenhuma chave API criada.',
|
||||
noBoards: 'Sem quadros',
|
||||
noCardsFound: 'Nenhum cartão encontrado.',
|
||||
noConnectionToServer: 'Sem conexão com o servidor',
|
||||
@@ -263,10 +275,12 @@ export default {
|
||||
projectNotFound_title: 'Projeto não encontrado',
|
||||
projectOwner: 'Proprietário do projeto',
|
||||
referenceDataAndKnowledgeStorage: 'Armazenamento de dados de referência e conhecimento.',
|
||||
regenerateApiKey_title: 'Regenerar chave API',
|
||||
rejectUnauthorizedTlsCertificates: 'Rejeitar certificados TLS não autorizados',
|
||||
removeManager_title: 'Remover gerente',
|
||||
removeMember_title: 'Remover membro',
|
||||
role: 'Função',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Salve esta chave — ela não será exibida novamente!',
|
||||
searchCards: 'Pesquisar cartões...',
|
||||
searchCustomFieldGroups: 'Pesquisar grupos de campos personalizados...',
|
||||
searchCustomFields: 'Pesquisar campos personalizados...',
|
||||
@@ -380,6 +394,7 @@ export default {
|
||||
archiveCards_title: 'Arquivar cartões',
|
||||
assignAsOwner: 'Atribuir como proprietário',
|
||||
cancel: 'Cancelar',
|
||||
createApiKey: 'Criar chave API',
|
||||
createBoard: 'Criar quadro',
|
||||
createCustomFieldGroup: 'Criar grupo de campos personalizados',
|
||||
createFile: 'Criar arquivo',
|
||||
@@ -389,6 +404,7 @@ export default {
|
||||
deactivateUser: 'Desativar usuário',
|
||||
deactivateUser_title: 'Desativar usuário',
|
||||
delete: 'Excluir',
|
||||
deleteApiKey: 'Excluir chave API',
|
||||
deleteAttachment: 'Excluir anexo',
|
||||
deleteAvatar: 'Excluir avatar',
|
||||
deleteBackgroundImage: 'Excluir imagem de fundo',
|
||||
@@ -447,6 +463,7 @@ export default {
|
||||
move: 'Mover',
|
||||
moveCard_title: 'Mover cartão',
|
||||
moveList_title: 'Mover lista',
|
||||
regenerateApiKey: 'Regenerar chave API',
|
||||
remove: 'Remover',
|
||||
removeAssignee: 'Remover responsável',
|
||||
removeColor: 'Remover cor',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Todas as alterações serão automaticamente guardadas<br />após a ligação ser restabelecida.',
|
||||
alphabetically: 'Alfabeticamente',
|
||||
alwaysDisplayCardCreator: 'Mostrar sempre o criador do cartão',
|
||||
apiKeyCreated_title: 'Chave API criada',
|
||||
apiKey_title: 'Chave API',
|
||||
archive: 'Arquivo',
|
||||
archiveCard_title: 'Arquivar cartão',
|
||||
archiveCards_title: 'Arquivar cartões',
|
||||
@@ -50,6 +52,7 @@ export default {
|
||||
'Tem a certeza de que pretende atribuir este gestor de projeto como proprietário?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Tem a certeza de que pretende desativar este utilizador?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Tem a certeza de que pretende eliminar esta chave API?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Tem a certeza de que pretende eliminar este anexo?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Tem a certeza de que pretende eliminar esta imagem de fundo?',
|
||||
@@ -81,6 +84,8 @@ export default {
|
||||
'Tem a certeza de que pretende tornar este projeto privado?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Tem a certeza de que pretende tornar este projeto partilhado?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Tem a certeza de que pretende regenerar esta chave API? A chave anterior deixará de funcionar.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Tem a certeza de que pretende remover este gestor do projeto?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -135,6 +140,7 @@ export default {
|
||||
createTextFile_title: 'Criar ficheiro de texto',
|
||||
creator: 'Criador',
|
||||
currentPassword: 'Palavra-passe atual',
|
||||
currentUser: 'Utilizador atual',
|
||||
customFieldGroup_title: 'Grupo de campos personalizados',
|
||||
customFieldGroups_title: 'Grupos de campos personalizados',
|
||||
customField_title: 'Campo personalizado',
|
||||
@@ -147,6 +153,7 @@ export default {
|
||||
defaultView_title: 'Vista padrão',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Elimine todos os quadros para poder eliminar este projeto',
|
||||
deleteApiKey_title: 'Eliminar chave API',
|
||||
deleteAttachment_title: 'Eliminar anexo',
|
||||
deleteBackgroundImage_title: 'Eliminar imagem de fundo',
|
||||
deleteBoard_title: 'Eliminar quadro',
|
||||
@@ -202,6 +209,8 @@ export default {
|
||||
forTeamBasedProjects: 'Para projetos baseados em equipa.',
|
||||
fromComputer_title: 'Do computador',
|
||||
fromTrello: 'Do Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'A chave completa está oculta por razões de segurança. Regenere-a para criar uma nova.',
|
||||
general: 'Geral',
|
||||
gradients: 'Gradientes',
|
||||
grid: 'Grelha',
|
||||
@@ -209,7 +218,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Ocultar da lista de projetos e favoritos',
|
||||
host: 'Anfitrião',
|
||||
hours: 'Horas',
|
||||
identity: 'Identidade',
|
||||
importBoard_title: 'Importar quadro',
|
||||
information: 'Informação',
|
||||
invalidCurrentPassword: 'Palavra-passe atual inválida',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Etiquetas',
|
||||
@@ -238,6 +249,7 @@ export default {
|
||||
newUsername: 'Novo nome de utilizador',
|
||||
newVersionAvailable: 'Nova versão disponível',
|
||||
newestFirst: 'Mais recentes primeiro',
|
||||
noApiKeyCreated: 'Nenhuma chave API criada.',
|
||||
noBoards: 'Sem quadros',
|
||||
noCardsFound: 'Nenhum cartão encontrado.',
|
||||
noConnectionToServer: 'Sem ligação ao servidor',
|
||||
@@ -265,10 +277,12 @@ export default {
|
||||
projectNotFound_title: 'Projeto não encontrado',
|
||||
projectOwner: 'Proprietário do projeto',
|
||||
referenceDataAndKnowledgeStorage: 'Armazenamento de dados de referência e conhecimento.',
|
||||
regenerateApiKey_title: 'Regenerar chave API',
|
||||
rejectUnauthorizedTlsCertificates: 'Rejeitar certificados TLS não autorizados',
|
||||
removeManager_title: 'Remover gestor',
|
||||
removeMember_title: 'Remover membro',
|
||||
role: 'Função',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Guarde esta chave — não será mostrada novamente!',
|
||||
searchCards: 'Pesquisar cartões...',
|
||||
searchCustomFieldGroups: 'Pesquisar grupos de campos personalizados...',
|
||||
searchCustomFields: 'Pesquisar campos personalizados...',
|
||||
@@ -383,6 +397,7 @@ export default {
|
||||
archiveCards_title: 'Arquivar cartões',
|
||||
assignAsOwner: 'Atribuir como proprietário',
|
||||
cancel: 'Cancelar',
|
||||
createApiKey: 'Criar chave API',
|
||||
createBoard: 'Criar quadro',
|
||||
createCustomFieldGroup: 'Criar grupo de campos personalizados',
|
||||
createFile: 'Criar ficheiro',
|
||||
@@ -392,6 +407,7 @@ export default {
|
||||
deactivateUser: 'Desativar utilizador',
|
||||
deactivateUser_title: 'Desativar utilizador',
|
||||
delete: 'Eliminar',
|
||||
deleteApiKey: 'Eliminar chave API',
|
||||
deleteAttachment: 'Eliminar anexo',
|
||||
deleteAvatar: 'Eliminar avatar',
|
||||
deleteBackgroundImage: 'Eliminar imagem de fundo',
|
||||
@@ -450,6 +466,7 @@ export default {
|
||||
move: 'Mover',
|
||||
moveCard_title: 'Mover cartão',
|
||||
moveList_title: 'Mover lista',
|
||||
regenerateApiKey: 'Regenerar chave API',
|
||||
remove: 'Remover',
|
||||
removeAssignee: 'Remover responsável',
|
||||
removeColor: 'Remover cor',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Toate modificarile vor fi salvate automat<br />dupa restabilirea conexiunii.',
|
||||
alphabetically: 'Alfabetic',
|
||||
alwaysDisplayCardCreator: 'Afișează întotdeauna creatorul cardului',
|
||||
apiKeyCreated_title: 'Cheie API creată',
|
||||
apiKey_title: 'Cheie API',
|
||||
archive: 'Arhivă',
|
||||
archiveCard_title: 'Arhivează cardul',
|
||||
archiveCards_title: 'Arhivează cardurile',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Sigur doriți să atribuiți acest manager de proiect ca proprietar?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Sigur doriți să dezactivați acest utilizator?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Sigur doriți să ștergeți această cheie API?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Sigur doriți să ștergeți acest atașament?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Sigur doriți să ștergeți această imagine de fundal?',
|
||||
@@ -75,6 +78,8 @@ export default {
|
||||
areYouSureYouWantToLeaveProject: 'Ești sigur că vrei să părăsești proiectul?',
|
||||
areYouSureYouWantToMakeThisProjectPrivate: 'Sigur doriți să faceți acest proiect privat?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Sigur doriți să faceți acest proiect partajat?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Sigur doriți să regenerați această cheie API? Cheia anterioară nu va mai funcționa.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Sigur doriți să eliminați acest manager din proiect?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -129,6 +134,7 @@ export default {
|
||||
createTextFile_title: 'Crează un fișier text',
|
||||
creator: 'Creator',
|
||||
currentPassword: 'Parola curentă',
|
||||
currentUser: 'Utilizator curent',
|
||||
customFieldGroup_title: 'Grup de câmpuri personalizate',
|
||||
customFieldGroups_title: 'Grupuri de câmpuri personalizate',
|
||||
customField_title: 'Câmp personalizat',
|
||||
@@ -141,6 +147,7 @@ export default {
|
||||
defaultView_title: 'Vizualizarea implicită',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Ștergeți toate tablele pentru a putea șterge acest proiect',
|
||||
deleteApiKey_title: 'Șterge cheia API',
|
||||
deleteAttachment_title: 'Ștergeți atașamentul',
|
||||
deleteBackgroundImage_title: 'Șterge imaginea de fundal',
|
||||
deleteBoard_title: 'Ștergeți tabla',
|
||||
@@ -196,6 +203,8 @@ export default {
|
||||
forTeamBasedProjects: 'Pentru proiecte bazate pe echipă.',
|
||||
fromComputer_title: 'De pe computer',
|
||||
fromTrello: 'De pe Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Cheia completă este ascunsă din motive de securitate. Regenerați-o pentru a crea una nouă.',
|
||||
general: 'General',
|
||||
gradients: 'Gradiente',
|
||||
grid: 'Grilă',
|
||||
@@ -203,7 +212,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Ascunde din lista de proiecte și favorite',
|
||||
host: 'Gazdă',
|
||||
hours: 'Ore',
|
||||
identity: 'Identitate',
|
||||
importBoard_title: 'Import tablă',
|
||||
information: 'Informații',
|
||||
invalidCurrentPassword: 'Parolă actuală nevalidă',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Etichete',
|
||||
@@ -232,6 +243,7 @@ export default {
|
||||
newUsername: 'Nume de utilizator nou',
|
||||
newVersionAvailable: 'Versiune nouă disponibilă',
|
||||
newestFirst: 'Cele mai noi primul',
|
||||
noApiKeyCreated: 'Nicio cheie API creată.',
|
||||
noBoards: 'Fără table',
|
||||
noCardsFound: 'Nu s-au găsit carduri.',
|
||||
noConnectionToServer: 'Nicio conexiune la server',
|
||||
@@ -259,10 +271,12 @@ export default {
|
||||
projectNotFound_title: 'Proiectul nu a fost găsit',
|
||||
projectOwner: 'Proprietar proiect',
|
||||
referenceDataAndKnowledgeStorage: 'Stocare de date de referință și cunoștințe.',
|
||||
regenerateApiKey_title: 'Regenerează cheia API',
|
||||
rejectUnauthorizedTlsCertificates: 'Respinge certificatele TLS neautorizate',
|
||||
removeManager_title: 'Eliminați manager',
|
||||
removeMember_title: 'Eliminați membru',
|
||||
role: 'Rol',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Salvați această cheie — nu va fi afișată din nou!',
|
||||
searchCards: 'Caută carduri...',
|
||||
searchCustomFieldGroups: 'Caută grupuri de câmpuri personalizate...',
|
||||
searchCustomFields: 'Caută câmpuri personalizate...',
|
||||
@@ -378,6 +392,7 @@ export default {
|
||||
archiveCards_title: 'Arhivează cardurile',
|
||||
assignAsOwner: 'Atribuie ca proprietar',
|
||||
cancel: 'Anulează',
|
||||
createApiKey: 'Creează cheie API',
|
||||
createBoard: 'Creați tablă',
|
||||
createCustomFieldGroup: 'Creați grup de câmpuri personalizate',
|
||||
createFile: 'Creați fișier',
|
||||
@@ -387,6 +402,7 @@ export default {
|
||||
deactivateUser: 'Dezactivați utilizatorul',
|
||||
deactivateUser_title: 'Dezactivați utilizatorul',
|
||||
delete: 'Ștergeți',
|
||||
deleteApiKey: 'Șterge cheia API',
|
||||
deleteAttachment: 'Ștergeți atașamentul',
|
||||
deleteAvatar: 'Ștergeți avatarul',
|
||||
deleteBackgroundImage: 'Ștergeți imaginea de fundal',
|
||||
@@ -445,6 +461,7 @@ export default {
|
||||
move: 'Mutați',
|
||||
moveCard_title: 'Mutați cardul',
|
||||
moveList_title: 'Mutați lista',
|
||||
regenerateApiKey: 'Regenerează cheia API',
|
||||
remove: 'Eliminați',
|
||||
removeAssignee: 'Eliminați cesionarul',
|
||||
removeColor: 'Eliminați culoarea',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Все изменения сохранятся автоматически,<br />как только подключение восстановится.',
|
||||
alphabetically: 'По алфавиту',
|
||||
alwaysDisplayCardCreator: 'Всегда отображать создателя карточек',
|
||||
apiKeyCreated_title: 'Ключ API создан',
|
||||
apiKey_title: 'Ключ API',
|
||||
archive: 'Архив',
|
||||
archiveCard_title: 'Архивировать карточку',
|
||||
archiveCards_title: 'Архивировать карточки',
|
||||
@@ -51,6 +53,7 @@ export default {
|
||||
'Вы уверены, что хотите назначить этого менеджера проекта владельцем?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Вы уверены, что хотите деактивировать этого пользователя?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Вы уверены, что хотите удалить этот ключ API?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Вы уверены, что хотите удалить это вложение?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Вы уверены, что хотите удалить этот фоновый рисунок?',
|
||||
@@ -79,6 +82,8 @@ export default {
|
||||
areYouSureYouWantToMakeThisProjectPrivate:
|
||||
'Вы уверены, что хотите сделать этот проект частным?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Вы уверены, что хотите сделать этот проект общим?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Вы уверены, что хотите перегенерировать этот ключ API? Предыдущий ключ больше не будет работать.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Вы уверены, что хотите удалить этого менеджера из проекта?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -132,6 +137,7 @@ export default {
|
||||
createTextFile_title: 'Создание текстового файла',
|
||||
creator: 'Создатель',
|
||||
currentPassword: 'Текущий пароль',
|
||||
currentUser: 'Текущий пользователь',
|
||||
customFieldGroup_title: 'Группа настраиваемых полей',
|
||||
customFieldGroups_title: 'Группы настраиваемых полей',
|
||||
customField_title: 'Настраиваемое поле',
|
||||
@@ -144,6 +150,7 @@ export default {
|
||||
defaultView_title: 'Вид по умолчанию',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Удалите все доски, чтобы иметь возможность удалить этот проект',
|
||||
deleteApiKey_title: 'Удалить ключ API',
|
||||
deleteAttachment_title: 'Удаление вложения',
|
||||
deleteBackgroundImage_title: 'Удалить фоновое изображение',
|
||||
deleteBoard_title: 'Удаление доски',
|
||||
@@ -199,6 +206,8 @@ export default {
|
||||
forTeamBasedProjects: 'Для командных проектов.',
|
||||
fromComputer_title: 'С компьютера',
|
||||
fromTrello: 'Из Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Полный ключ скрыт по соображениям безопасности. Перегенерируйте его, чтобы создать новый.',
|
||||
general: 'Основные',
|
||||
gradients: 'Градиенты',
|
||||
grid: 'Сетка',
|
||||
@@ -206,7 +215,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Скрыть из списка проектов и избранного',
|
||||
host: 'Хост',
|
||||
hours: 'Часы',
|
||||
identity: 'Личность',
|
||||
importBoard_title: 'Импорт доски',
|
||||
information: 'Информация',
|
||||
invalidCurrentPassword: 'Неверный текущий пароль',
|
||||
kanban: 'Канбан',
|
||||
labels: 'Метки',
|
||||
@@ -235,6 +246,7 @@ export default {
|
||||
newUsername: 'Новое имя пользователя',
|
||||
newVersionAvailable: 'Доступна новая версия',
|
||||
newestFirst: 'Новые первые',
|
||||
noApiKeyCreated: 'Ключ API не создан.',
|
||||
noBoards: 'Досок нет',
|
||||
noCardsFound: 'Карточки не найдены.',
|
||||
noConnectionToServer: 'Нет соединения с сервером',
|
||||
@@ -262,10 +274,12 @@ export default {
|
||||
projectNotFound_title: 'Проект не найден',
|
||||
projectOwner: 'Владелец проекта',
|
||||
referenceDataAndKnowledgeStorage: 'Хранение справочных данных и знаний.',
|
||||
regenerateApiKey_title: 'Перегенерировать ключ API',
|
||||
rejectUnauthorizedTlsCertificates: 'Отклонять неавторизованные TLS-сертификаты',
|
||||
removeManager_title: 'Удалить менеджера',
|
||||
removeMember_title: 'Удаление участника',
|
||||
role: 'Роль',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Сохраните этот ключ — он больше не будет показан!',
|
||||
searchCards: 'Поиск карточек...',
|
||||
searchCustomFieldGroups: 'Поиск групп настраиваемых полей...',
|
||||
searchCustomFields: 'Поиск настраиваемых полей...',
|
||||
@@ -379,6 +393,7 @@ export default {
|
||||
archiveCards_title: 'Архивировать карточки',
|
||||
assignAsOwner: 'Назначить владельцем',
|
||||
cancel: 'Отменить',
|
||||
createApiKey: 'Создать ключ API',
|
||||
createBoard: 'Создать доску',
|
||||
createCustomFieldGroup: 'Создать группу настраиваемых полей',
|
||||
createFile: 'Создать файл',
|
||||
@@ -388,6 +403,7 @@ export default {
|
||||
deactivateUser: 'Деактивировать пользователя',
|
||||
deactivateUser_title: 'Деактивировать пользователя',
|
||||
delete: 'Удалить',
|
||||
deleteApiKey: 'Удалить ключ API',
|
||||
deleteAttachment: 'Удалить вложение',
|
||||
deleteAvatar: 'Удалить аватар',
|
||||
deleteBackgroundImage: 'Удалить фоновое изображение',
|
||||
@@ -446,6 +462,7 @@ export default {
|
||||
move: 'Переместить',
|
||||
moveCard_title: 'Переместить карточку',
|
||||
moveList_title: 'Переместить список',
|
||||
regenerateApiKey: 'Перегенерировать ключ API',
|
||||
remove: 'Убрать',
|
||||
removeAssignee: 'Удалить исполнителя',
|
||||
removeColor: 'Удалить цвет',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Všetky zmeny budú automaticky uložené<br />po obnovení spojenia.',
|
||||
alphabetically: 'Abecedne',
|
||||
alwaysDisplayCardCreator: 'Vždy zobraziť tvorcu karty',
|
||||
apiKeyCreated_title: 'API kľúč vytvorený',
|
||||
apiKey_title: 'API kľúč',
|
||||
archive: 'Archív',
|
||||
archiveCard_title: 'Archivovať kartu',
|
||||
archiveCards_title: 'Archivovať karty',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Naozaj chcete prideliť tohoto správcu projektu ako vlastníka?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Naozaj chcete deaktivovať tohoto používateľa?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Naozaj chcete odstrániť tento API kľúč?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Naozaj chcete zmazať túto prílohu?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage: 'Naozaj chcete zmazať tento obrázok pozadia?',
|
||||
areYouSureYouWantToDeleteThisBoard: 'Naozaj chcete zmazať túto tabuľu?',
|
||||
@@ -73,6 +76,8 @@ export default {
|
||||
areYouSureYouWantToLeaveProject: 'Naozaj chcete opustiť tento projekt?',
|
||||
areYouSureYouWantToMakeThisProjectPrivate: 'Naozaj chcete urobiť tento projekt súkromným?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Naozaj chcete urobiť tento projekt zdieľaným?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Naozaj chcete znovu vygenerovať tento API kľúč? Predchádzajúci kľúč už nebude fungovať.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Naozaj chcete zmazať daného správcu tohto projektu?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -126,6 +131,7 @@ export default {
|
||||
createTextFile_title: 'Vytvoriť textový súbor',
|
||||
creator: 'Tvorca',
|
||||
currentPassword: 'Aktuálne heslo',
|
||||
currentUser: 'Aktuálny používateľ',
|
||||
customFieldGroup_title: 'Skupina vlastných polí',
|
||||
customFieldGroups_title: 'Skupiny vlastných polí',
|
||||
customField_title: 'Vlastné pole',
|
||||
@@ -138,6 +144,7 @@ export default {
|
||||
defaultView_title: 'Predvolené zobrazenie',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Zmaž všetky tabule, aby si mohol zmazať tento projekt',
|
||||
deleteApiKey_title: 'Odstrániť API kľúč',
|
||||
deleteAttachment_title: 'Zmazať prílohu',
|
||||
deleteBackgroundImage_title: 'Zmazať obrázok pozadia',
|
||||
deleteBoard_title: 'Zmazať tabuľu',
|
||||
@@ -193,6 +200,8 @@ export default {
|
||||
forTeamBasedProjects: 'Pre tímové projekty.',
|
||||
fromComputer_title: 'Z počítača',
|
||||
fromTrello: 'Z Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Celý kľúč je z bezpečnostných dôvodov skrytý. Vygenerujte ho znovu na vytvorenie nového.',
|
||||
general: 'Všeobecné',
|
||||
gradients: 'Prechody',
|
||||
grid: 'Mriežka',
|
||||
@@ -200,7 +209,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Skryť zo zoznamu projektov a obľúbených',
|
||||
host: 'Hostiteľ',
|
||||
hours: 'Hodiny',
|
||||
identity: 'Identita',
|
||||
importBoard_title: 'Importovať tabuľu',
|
||||
information: 'Informácie',
|
||||
invalidCurrentPassword: 'Neplatné aktuálne heslo',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Štítky',
|
||||
@@ -229,6 +240,7 @@ export default {
|
||||
newUsername: 'Nové používateľské meno',
|
||||
newVersionAvailable: 'Nová verzia je dostupná',
|
||||
newestFirst: 'Najnovšie prvé',
|
||||
noApiKeyCreated: 'Nebol vytvorený žiadny API kľúč.',
|
||||
noBoards: 'Žiadne tabule',
|
||||
noCardsFound: 'Nenašli sa žiadne karty.',
|
||||
noConnectionToServer: 'Nie je spojenie k serveru',
|
||||
@@ -256,10 +268,12 @@ export default {
|
||||
projectNotFound_title: 'Projekt neexistuje',
|
||||
projectOwner: 'Vlastník projektu',
|
||||
referenceDataAndKnowledgeStorage: 'Referenčné údaje a úložisko znalostí.',
|
||||
regenerateApiKey_title: 'Znovu vygenerovať API kľúč',
|
||||
rejectUnauthorizedTlsCertificates: 'Odmietnuť neautorizované TLS certifikáty',
|
||||
removeManager_title: 'Odstrániť správcu',
|
||||
removeMember_title: 'Odstrániť člena',
|
||||
role: 'Rola',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Uložte si tento kľúč — už sa nezobrazí!',
|
||||
searchCards: 'Hľadať karty...',
|
||||
searchCustomFieldGroups: 'Hľadať skupiny vlastných polí...',
|
||||
searchCustomFields: 'Hľadať vlastné polia...',
|
||||
@@ -372,6 +386,7 @@ export default {
|
||||
archiveCards_title: 'Archivovať karty',
|
||||
assignAsOwner: 'Prideliť ako vlastníka',
|
||||
cancel: 'Zrušiť',
|
||||
createApiKey: 'Vytvoriť API kľúč',
|
||||
createBoard: 'Vytvoriť tabuľu',
|
||||
createCustomFieldGroup: 'Vytvoriť skupinu vlastných polí',
|
||||
createFile: 'Vytvoriť súbor',
|
||||
@@ -381,6 +396,7 @@ export default {
|
||||
deactivateUser: 'Deaktivovať používateľa',
|
||||
deactivateUser_title: 'Deaktivovať používateľa',
|
||||
delete: 'Zmazať',
|
||||
deleteApiKey: 'Odstrániť API kľúč',
|
||||
deleteAttachment: 'Zmazať prílohu',
|
||||
deleteAvatar: 'Zmazať avatar',
|
||||
deleteBackgroundImage: 'Zmazať obrázok pozadia',
|
||||
@@ -439,6 +455,7 @@ export default {
|
||||
move: 'Presunúť',
|
||||
moveCard_title: 'Presunúť kartu',
|
||||
moveList_title: 'Presunúť zoznam',
|
||||
regenerateApiKey: 'Znovu vygenerovať API kľúč',
|
||||
remove: 'Odstrániť',
|
||||
removeAssignee: 'Odstrániť pridelenú osobu',
|
||||
removeColor: 'Odstrániť farbu',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Све промене ће аутоматски бити сачуване<br />након успостављања конекције.',
|
||||
alphabetically: 'Абецедно',
|
||||
alwaysDisplayCardCreator: 'Увек прикажи творца картице',
|
||||
apiKeyCreated_title: 'API кључ креиран',
|
||||
apiKey_title: 'API кључ',
|
||||
archive: 'Архива',
|
||||
archiveCard_title: 'Архивирај картицу',
|
||||
archiveCards_title: 'Архивирај картице',
|
||||
@@ -49,6 +51,7 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Да ли заиста желите да доделите овог руководиоца пројекта као власника?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Да ли заиста желите да деактивирате овог корисника?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Да ли сте сигурни да желите да обришете овај API кључ?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Да ли заиста желите да обришете овај прилог?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Да ли заиста желите да обришете ову позадинску слику?',
|
||||
@@ -77,6 +80,8 @@ export default {
|
||||
areYouSureYouWantToMakeThisProjectPrivate:
|
||||
'Да ли заиста желите да учините овај пројекат приватним?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Да ли заиста желите да поделите овај пројекат?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Да ли сте сигурни да желите да регенеришете овај API кључ? Претходни кључ више неће радити.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Да ли заиста желите да уклоните овог руководиоца из овог пројекта?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -129,6 +134,7 @@ export default {
|
||||
createTextFile_title: 'Направи текстуалну датотеку',
|
||||
creator: 'Творац',
|
||||
currentPassword: 'Тренутна лозинка',
|
||||
currentUser: 'Тренутни корисник',
|
||||
customFieldGroup_title: 'Група прилагођених поља',
|
||||
customFieldGroups_title: 'Групе прилагођених поља',
|
||||
customField_title: 'Прилагођено поље',
|
||||
@@ -141,6 +147,7 @@ export default {
|
||||
defaultView_title: 'Подразумевани приказ',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Обришите све табле да бисте могли да обришете овај пројекат',
|
||||
deleteApiKey_title: 'Обриши API кључ',
|
||||
deleteAttachment_title: 'Обриши прилог',
|
||||
deleteBackgroundImage_title: 'Обриши позадинску слику',
|
||||
deleteBoard_title: 'Обриши таблу',
|
||||
@@ -196,6 +203,8 @@ export default {
|
||||
forTeamBasedProjects: 'За тимске пројекте.',
|
||||
fromComputer_title: 'Са рачунара',
|
||||
fromTrello: 'Са Trello-а',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Комплетан кључ је сакривен из безбедносних разлога. Регенеришите га да бисте креирали нови.',
|
||||
general: 'Опште',
|
||||
gradients: 'Градијенти',
|
||||
grid: 'Мрежа',
|
||||
@@ -203,7 +212,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Сакриј из листе пројеката и омиљених',
|
||||
host: 'Хост',
|
||||
hours: 'Сати',
|
||||
identity: 'Идентитет',
|
||||
importBoard_title: 'Увези таблу',
|
||||
information: 'Информације',
|
||||
invalidCurrentPassword: 'Неисправна тренутна лозинка',
|
||||
kanban: 'Канбан',
|
||||
labels: 'Ознаке',
|
||||
@@ -232,6 +243,7 @@ export default {
|
||||
newUsername: 'Ново корисничко име',
|
||||
newVersionAvailable: 'Нова верзија је доступна',
|
||||
newestFirst: 'Прво најновије',
|
||||
noApiKeyCreated: 'API кључ није креиран.',
|
||||
noBoards: 'Нема табли',
|
||||
noCardsFound: 'Нема пронађених картица.',
|
||||
noConnectionToServer: 'Нема конекције са сервером',
|
||||
@@ -259,10 +271,12 @@ export default {
|
||||
projectNotFound_title: 'Пројекат није пронађен',
|
||||
projectOwner: 'Власник пројекта',
|
||||
referenceDataAndKnowledgeStorage: 'Складиштење референтних података и знања.',
|
||||
regenerateApiKey_title: 'Регенериши API кључ',
|
||||
rejectUnauthorizedTlsCertificates: 'Одбаци неовлашћене TLS сертификате',
|
||||
removeManager_title: 'Уклони руководиоца',
|
||||
removeMember_title: 'Уклони члана',
|
||||
role: 'Улога',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Сачувајте овај кључ — неће бити приказан поново!',
|
||||
searchCards: 'Претражи картице...',
|
||||
searchCustomFieldGroups: 'Претражи групе прилагођених поља...',
|
||||
searchCustomFields: 'Претражи прилагођена поља...',
|
||||
@@ -375,6 +389,7 @@ export default {
|
||||
archiveCards_title: 'Архивирај картице',
|
||||
assignAsOwner: 'Додели као власника',
|
||||
cancel: 'Откажи',
|
||||
createApiKey: 'Креирај API кључ',
|
||||
createBoard: 'Направи таблу',
|
||||
createCustomFieldGroup: 'Направи групу прилагођених поља',
|
||||
createFile: 'Направи датотеку',
|
||||
@@ -384,6 +399,7 @@ export default {
|
||||
deactivateUser: 'Деактивирај корисника',
|
||||
deactivateUser_title: 'Деактивирај корисника',
|
||||
delete: 'Обриши',
|
||||
deleteApiKey: 'Обриши API кључ',
|
||||
deleteAttachment: 'Обриши прилог',
|
||||
deleteAvatar: 'Обриши аватара',
|
||||
deleteBackgroundImage: 'Обриши позадинску слику',
|
||||
@@ -442,6 +458,7 @@ export default {
|
||||
move: 'Премести',
|
||||
moveCard_title: 'Премести картицу',
|
||||
moveList_title: 'Премести списак',
|
||||
regenerateApiKey: 'Регенериши API кључ',
|
||||
remove: 'Уклони',
|
||||
removeAssignee: 'Уклони извршиоца',
|
||||
removeColor: 'Уклони боју',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Sve promene će automatski biti sačuvane<br />nakon uspostavljanja konekcije.',
|
||||
alphabetically: 'Abecedno',
|
||||
alwaysDisplayCardCreator: 'Uvek prikaži tvorca kartice',
|
||||
apiKeyCreated_title: 'API ključ kreiran',
|
||||
apiKey_title: 'API ključ',
|
||||
archive: 'Arhiva',
|
||||
archiveCard_title: 'Arhiviraj karticu',
|
||||
archiveCards_title: 'Arhiviraj kartice',
|
||||
@@ -49,6 +51,8 @@ export default {
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner:
|
||||
'Da li zaista želite da dodelite ovog rukovodioca projekta kao vlasnika?',
|
||||
areYouSureYouWantToDeactivateThisUser: 'Da li zaista želite da deaktivirate ovog korisnika?',
|
||||
areYouSureYouWantToDeleteThisApiKey:
|
||||
'Da li ste sigurni da želite da obrišete ovaj API ključ?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Da li zaista želite da obrišete ovaj prilog?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Da li zaista želite da obrišete ovu pozadinsku sliku?',
|
||||
@@ -77,6 +81,8 @@ export default {
|
||||
areYouSureYouWantToMakeThisProjectPrivate:
|
||||
'Da li zaista želite da učinite ovaj projekat privatnim?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Da li zaista želite da podelite ovaj projekat?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Da li ste sigurni da želite da regenerišete ovaj API ključ? Prethodni ključ više neće raditi.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Da li zaista želite da uklonite ovog rukovodioca iz ovog projekta?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -129,6 +135,7 @@ export default {
|
||||
createTextFile_title: 'Napravi tekstualnu datoteku',
|
||||
creator: 'Tvorac',
|
||||
currentPassword: 'Trenutna lozinka',
|
||||
currentUser: 'Trenutni korisnik',
|
||||
customFieldGroup_title: 'Grupa prilagođenih polja',
|
||||
customFieldGroups_title: 'Grupe prilagođenih polja',
|
||||
customField_title: 'Prilagođeno polje',
|
||||
@@ -141,6 +148,7 @@ export default {
|
||||
defaultView_title: 'Podrazumevani prikaz',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Obrišite sve table da biste mogli da obrišete ovaj projekat',
|
||||
deleteApiKey_title: 'Obriši API ključ',
|
||||
deleteAttachment_title: 'Obriši prilog',
|
||||
deleteBackgroundImage_title: 'Obriši pozadinsku sliku',
|
||||
deleteBoard_title: 'Obriši tablu',
|
||||
@@ -196,6 +204,8 @@ export default {
|
||||
forTeamBasedProjects: 'Za timske projekte.',
|
||||
fromComputer_title: 'Sa računara',
|
||||
fromTrello: 'Sa Trello-a',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Kompletan ključ je sakriven iz bezbednosnih razloga. Regenerišite ga da biste kreirali novi.',
|
||||
general: 'Opšte',
|
||||
gradients: 'Gradijenti',
|
||||
grid: 'Mreža',
|
||||
@@ -203,7 +213,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Sakrij iz liste projekata i omiljenih',
|
||||
host: 'Host',
|
||||
hours: 'Sati',
|
||||
identity: 'Identitet',
|
||||
importBoard_title: 'Uvezi tablu',
|
||||
information: 'Informacije',
|
||||
invalidCurrentPassword: 'Neispravna trenutna lozinka',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Oznake',
|
||||
@@ -232,6 +244,7 @@ export default {
|
||||
newUsername: 'Novo korisničko ime',
|
||||
newVersionAvailable: 'Nova verzija je dostupna',
|
||||
newestFirst: 'Prvo najnovije',
|
||||
noApiKeyCreated: 'API ključ nije kreiran.',
|
||||
noBoards: 'Nema tabli',
|
||||
noCardsFound: 'Nema pronađenih kartica.',
|
||||
noConnectionToServer: 'Nema konekcije sa serverom',
|
||||
@@ -259,10 +272,12 @@ export default {
|
||||
projectNotFound_title: 'Projekat nije pronađen',
|
||||
projectOwner: 'Vlasnik projekta',
|
||||
referenceDataAndKnowledgeStorage: 'Skladištenje referentnih podataka i znanja.',
|
||||
regenerateApiKey_title: 'Regeneriši API ključ',
|
||||
rejectUnauthorizedTlsCertificates: 'Odbaci neovlašćene TLS sertifikate',
|
||||
removeManager_title: 'Ukloni rukovodioca',
|
||||
removeMember_title: 'Ukloni člana',
|
||||
role: 'Uloga',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Sačuvajte ovaj ključ — neće biti prikazan ponovo!',
|
||||
searchCards: 'Pretraži kartice...',
|
||||
searchCustomFieldGroups: 'Pretraži grupe prilagođenih polja...',
|
||||
searchCustomFields: 'Pretraži prilagođena polja...',
|
||||
@@ -376,6 +391,7 @@ export default {
|
||||
archiveCards_title: 'Arhiviraj kartice',
|
||||
assignAsOwner: 'Dodeli kao vlasnika',
|
||||
cancel: 'Otkaži',
|
||||
createApiKey: 'Kreiraj API ključ',
|
||||
createBoard: 'Napravi tablu',
|
||||
createCustomFieldGroup: 'Napravi grupu prilagođenih polja',
|
||||
createFile: 'Napravi datoteku',
|
||||
@@ -385,6 +401,7 @@ export default {
|
||||
deactivateUser: 'Deaktiviraj korisnika',
|
||||
deactivateUser_title: 'Deaktiviraj korisnika',
|
||||
delete: 'Obriši',
|
||||
deleteApiKey: 'Obriši API ključ',
|
||||
deleteAttachment: 'Obriši prilog',
|
||||
deleteAvatar: 'Obriši avatara',
|
||||
deleteBackgroundImage: 'Obriši pozadinsku sliku',
|
||||
@@ -443,6 +460,7 @@ export default {
|
||||
move: 'Premesti',
|
||||
moveCard_title: 'Premesti karticu',
|
||||
moveList_title: 'Premesti spisak',
|
||||
regenerateApiKey: 'Regeneriši API ključ',
|
||||
remove: 'Ukloni',
|
||||
removeAssignee: 'Ukloni izvršioca',
|
||||
removeColor: 'Ukloni boju',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Alla ändringar kommer att sparas automatiskt<br />så fort anslutningen är återställd.',
|
||||
alphabetically: 'Alfabetiskt',
|
||||
alwaysDisplayCardCreator: 'Visa alltid kortskapare',
|
||||
apiKeyCreated_title: 'API-nyckel skapad',
|
||||
apiKey_title: 'API-nyckel',
|
||||
archive: 'Arkiv',
|
||||
archiveCard_title: 'Arkivera kort',
|
||||
archiveCards_title: 'Arkivera kort',
|
||||
@@ -51,6 +53,7 @@ export default {
|
||||
'Är du säker på att du vill tilldela den här projektledaren som ägare?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Är du säker på att du vill inaktivera den här användaren?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Är du säker på att du vill ta bort denna API-nyckel?',
|
||||
areYouSureYouWantToDeleteThisAttachment:
|
||||
'Är du säker på att du vill ta bort den här bilagan?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
@@ -83,6 +86,8 @@ export default {
|
||||
'Är du säker på att du vill göra det här projektet privat?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Är du säker på att du vill dela det här projektet?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Är du säker på att du vill regenerera denna API-nyckel? Den tidigare nyckeln kommer inte längre att fungera.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Är du säker på att du vill ta bort den här projektledaren från projektet?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -136,6 +141,7 @@ export default {
|
||||
createTextFile_title: 'Skapa textfil',
|
||||
creator: 'Skapare',
|
||||
currentPassword: 'Nuvarande lösenord',
|
||||
currentUser: 'Nuvarande användare',
|
||||
customFieldGroup_title: 'Anpassad fältgrupp',
|
||||
customFieldGroups_title: 'Anpassade fältgrupper',
|
||||
customField_title: 'Anpassat fält',
|
||||
@@ -148,6 +154,7 @@ export default {
|
||||
defaultView_title: 'Standardvy',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Ta bort alla tavlor för att kunna ta bort det här projektet',
|
||||
deleteApiKey_title: 'Ta bort API-nyckel',
|
||||
deleteAttachment_title: 'Ta bort bilaga',
|
||||
deleteBackgroundImage_title: 'Ta bort bakgrundsbild',
|
||||
deleteBoard_title: 'Ta bort tavla',
|
||||
@@ -203,6 +210,8 @@ export default {
|
||||
forTeamBasedProjects: 'För teambaserade projekt.',
|
||||
fromComputer_title: 'Från dator',
|
||||
fromTrello: 'Från Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Den fullständiga nyckeln är dold av säkerhetsskäl. Regenerera den för att skapa en ny.',
|
||||
general: 'Allmänt',
|
||||
gradients: 'Gradienter',
|
||||
grid: 'Rutnät',
|
||||
@@ -210,7 +219,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Dölj från projektlista och favoriter',
|
||||
host: 'Värd',
|
||||
hours: 'Timmar',
|
||||
identity: 'Identitet',
|
||||
importBoard_title: 'Importera tavla',
|
||||
information: 'Information',
|
||||
invalidCurrentPassword: 'Ogiltigt nuvarande lösenord',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Etiketter',
|
||||
@@ -239,6 +250,7 @@ export default {
|
||||
newUsername: 'Nytt användarnamn',
|
||||
newVersionAvailable: 'Ny version tillgänglig',
|
||||
newestFirst: 'Nyaste först',
|
||||
noApiKeyCreated: 'Ingen API-nyckel skapad.',
|
||||
noBoards: 'Inga tavlor',
|
||||
noCardsFound: 'Inga kort hittades.',
|
||||
noConnectionToServer: 'Ingen anslutning till servern',
|
||||
@@ -266,10 +278,12 @@ export default {
|
||||
projectNotFound_title: 'Projekt hittades inte',
|
||||
projectOwner: 'Projektägare',
|
||||
referenceDataAndKnowledgeStorage: 'Referensdata och kunskapslagring.',
|
||||
regenerateApiKey_title: 'Regenerera API-nyckel',
|
||||
rejectUnauthorizedTlsCertificates: 'Avvisa obehöriga TLS-certifikat',
|
||||
removeManager_title: 'Ta bort projektledare',
|
||||
removeMember_title: 'Ta bort medlem',
|
||||
role: 'Roll',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Spara denna nyckel — den visas inte igen!',
|
||||
searchCards: 'Sök kort...',
|
||||
searchCustomFieldGroups: 'Sök anpassade fältgrupper...',
|
||||
searchCustomFields: 'Sök anpassade fält...',
|
||||
@@ -384,6 +398,7 @@ export default {
|
||||
archiveCards_title: 'Arkivera kort',
|
||||
assignAsOwner: 'Tilldela som ägare',
|
||||
cancel: 'Avbryt',
|
||||
createApiKey: 'Skapa API-nyckel',
|
||||
createBoard: 'Skapa tavla',
|
||||
createCustomFieldGroup: 'Skapa anpassad fältgrupp',
|
||||
createFile: 'Skapa fil',
|
||||
@@ -393,6 +408,7 @@ export default {
|
||||
deactivateUser: 'Inaktivera användare',
|
||||
deactivateUser_title: 'Inaktivera användare',
|
||||
delete: 'Ta bort',
|
||||
deleteApiKey: 'Ta bort API-nyckel',
|
||||
deleteAttachment: 'Ta bort bilaga',
|
||||
deleteAvatar: 'Ta bort avatar',
|
||||
deleteBackgroundImage: 'Ta bort bakgrundsbild',
|
||||
@@ -451,6 +467,7 @@ export default {
|
||||
move: 'Flytta',
|
||||
moveCard_title: 'Flytta kort',
|
||||
moveList_title: 'Flytta lista',
|
||||
regenerateApiKey: 'Regenerera API-nyckel',
|
||||
remove: 'Ta bort',
|
||||
removeAssignee: 'Ta bort tilldelad',
|
||||
removeColor: 'Ta bort färg',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Bağlantı yeniden kurulduğunda tüm değişiklikler kaydedilecektir.',
|
||||
alphabetically: 'Alfabetik olarak',
|
||||
alwaysDisplayCardCreator: 'Kart oluşturucusunu her zaman göster',
|
||||
apiKeyCreated_title: 'API Anahtarı Oluşturuldu',
|
||||
apiKey_title: 'API Anahtarı',
|
||||
archive: 'Arşiv',
|
||||
archiveCard_title: 'Kartı arşivle',
|
||||
archiveCards_title: 'Kartları arşivle',
|
||||
@@ -51,6 +53,7 @@ export default {
|
||||
'Bu proje yöneticisini sahip olarak atamak istediğinizden emin misiniz?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Bu kullanıcıyı devre dışı bırakmak istediğinizden emin misiniz?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Bu API anahtarını silmek istediğinizden emin misiniz?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Bu eki silmek istediğinize emin misiniz?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Bu arka plan resmini silmek istediğinizden emin misiniz?',
|
||||
@@ -80,6 +83,8 @@ export default {
|
||||
'Bu projeyi özel yapmak istediğinizden emin misiniz?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Bu projeyi paylaşımlı yapmak istediğinizden emin misiniz?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Bu API anahtarını yeniden oluşturmak istediğinizden emin misiniz? Önceki anahtar artık çalışmayacak.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Bu yöneticiyi projeden çıkarmak istediğinizden emin misiniz?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -133,6 +138,7 @@ export default {
|
||||
createTextFile_title: 'Metin dosyası oluştur',
|
||||
creator: 'Oluşturan',
|
||||
currentPassword: 'Geçerli şifre',
|
||||
currentUser: 'Mevcut kullanıcı',
|
||||
customFieldGroup_title: 'özel alan grubu',
|
||||
customFieldGroups_title: 'özel alan grupları',
|
||||
customField_title: 'Özel alan',
|
||||
@@ -144,6 +150,7 @@ export default {
|
||||
defaultFrom: 'Varsayılan gönderen',
|
||||
defaultView_title: 'Varsayılan görünüm',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject: 'Bu projeyi silebilmek için tüm panoları silin',
|
||||
deleteApiKey_title: 'API Anahtarını Sil',
|
||||
deleteAttachment_title: 'Eki sil',
|
||||
deleteBackgroundImage_title: 'Arka plan resmini sil',
|
||||
deleteBoard_title: 'Panoyu sil',
|
||||
@@ -199,6 +206,8 @@ export default {
|
||||
forTeamBasedProjects: 'Takım tabanlı projeler için.',
|
||||
fromComputer_title: 'Bilgisayardan',
|
||||
fromTrello: "Trello'dan",
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Tam anahtar güvenlik nedeniyle gizlenmiştir. Yeni bir tane oluşturmak için yeniden oluşturun.',
|
||||
general: 'Genel',
|
||||
gradients: 'Gradyanlar',
|
||||
grid: 'Izgara',
|
||||
@@ -206,7 +215,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Proje listesi ve favorilerden gizle',
|
||||
host: 'Ana bilgisayar',
|
||||
hours: 'saat',
|
||||
identity: 'Kimlik',
|
||||
importBoard_title: 'Panoyu içe aktar',
|
||||
information: 'Bilgi',
|
||||
invalidCurrentPassword: 'Mevcut şifre yanlış',
|
||||
kanban: 'Kanban',
|
||||
labels: 'etiketler',
|
||||
@@ -235,6 +246,7 @@ export default {
|
||||
newUsername: 'Yeni kullanıcı adı',
|
||||
newVersionAvailable: 'Yeni sürüm mevcut',
|
||||
newestFirst: 'Önce en yeni',
|
||||
noApiKeyCreated: 'Oluşturulmuş API anahtarı yok.',
|
||||
noBoards: 'Pano yok',
|
||||
noCardsFound: 'Kart bulunamadı.',
|
||||
noConnectionToServer: 'Sunucuya bağlantı yok',
|
||||
@@ -262,10 +274,12 @@ export default {
|
||||
projectNotFound_title: 'Proje bulunamadı',
|
||||
projectOwner: 'Proje sahibi',
|
||||
referenceDataAndKnowledgeStorage: 'Referans veri ve bilgi depolama.',
|
||||
regenerateApiKey_title: 'API Anahtarını Yeniden Oluştur',
|
||||
rejectUnauthorizedTlsCertificates: 'Yetkisiz TLS sertifikalarını reddet',
|
||||
removeManager_title: 'Yöneticiyi kaldır',
|
||||
removeMember_title: 'Üyeyi kaldır',
|
||||
role: 'Rol',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Bu anahtarı kaydedin — tekrar gösterilmeyecek!',
|
||||
searchCards: 'Kartları ara...',
|
||||
searchCustomFieldGroups: 'Özel alan gruplarını ara...',
|
||||
searchCustomFields: 'Özel alanları ara...',
|
||||
@@ -382,6 +396,7 @@ export default {
|
||||
archiveCards_title: 'Kartları arşivle',
|
||||
assignAsOwner: 'Sahip olarak ata',
|
||||
cancel: 'İptal',
|
||||
createApiKey: 'API anahtarı oluştur',
|
||||
createBoard: 'Pano oluştur',
|
||||
createCustomFieldGroup: 'Özel alan grubu oluştur',
|
||||
createFile: 'Dosya oluştur',
|
||||
@@ -391,6 +406,7 @@ export default {
|
||||
deactivateUser: 'Kullanıcıyı devre dışı bırak',
|
||||
deactivateUser_title: 'Kullanıcıyı devre dışı bırak',
|
||||
delete: 'Sil',
|
||||
deleteApiKey: 'API anahtarını sil',
|
||||
deleteAttachment: 'Eki sil',
|
||||
deleteAvatar: 'Avatarı sil',
|
||||
deleteBackgroundImage: 'Arka plan resmini sil',
|
||||
@@ -449,6 +465,7 @@ export default {
|
||||
move: 'Taşı',
|
||||
moveCard_title: 'Kartı taşı',
|
||||
moveList_title: 'Listeyi taşı',
|
||||
regenerateApiKey: 'API anahtarını yeniden oluştur',
|
||||
remove: 'Sil',
|
||||
removeAssignee: 'Atanan kişiyi kaldır',
|
||||
removeColor: 'Rengi kaldır',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
'Всі зміни будуть автоматично збережені<br />після відновлення підключення.',
|
||||
alphabetically: 'За алфавітом',
|
||||
alwaysDisplayCardCreator: 'Завжди відображати творця картки',
|
||||
apiKeyCreated_title: 'Ключ API створено',
|
||||
apiKey_title: 'Ключ API',
|
||||
archive: 'Архів',
|
||||
archiveCard_title: 'Архівувати картку',
|
||||
archiveCards_title: 'Архівувати картки',
|
||||
@@ -50,6 +52,7 @@ export default {
|
||||
'Ви впевнені, що хочете призначити цього менеджера проекту власником?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Ви впевнені, що хочете деактивувати цього користувача?',
|
||||
areYouSureYouWantToDeleteThisApiKey: 'Ви впевнені, що хочете видалити цей ключ API?',
|
||||
areYouSureYouWantToDeleteThisAttachment: 'Ви впевнені, що хочете видалити це вкладення?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage:
|
||||
'Ви впевнені, що хочете видалити це фонове зображення?',
|
||||
@@ -78,6 +81,8 @@ export default {
|
||||
'Ви впевнені, що хочете зробити цей проект приватним?',
|
||||
areYouSureYouWantToMakeThisProjectShared:
|
||||
'Ви впевнені, що хочете зробити цей проект спільним?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Ви впевнені, що хочете перегенерувати цей ключ API? Попередній ключ більше не працюватиме.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
'Ви впевнені, що хочете видалити цього менеджера з проекту?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard:
|
||||
@@ -131,6 +136,7 @@ export default {
|
||||
createTextFile_title: 'Створити текстовий файл',
|
||||
creator: 'Творець',
|
||||
currentPassword: 'Поточний пароль',
|
||||
currentUser: 'Поточний користувач',
|
||||
customFieldGroup_title: 'Користувацька група полів',
|
||||
customFieldGroups_title: 'Користувацькі групи полів',
|
||||
customField_title: 'Користувацьке поле',
|
||||
@@ -143,6 +149,7 @@ export default {
|
||||
defaultView_title: 'Вигляд за замовчуванням',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
'Видаліть усі дошки, щоб мати змогу видалити цей проект',
|
||||
deleteApiKey_title: 'Видалити ключ API',
|
||||
deleteAttachment_title: 'Видалити вкладення',
|
||||
deleteBackgroundImage_title: 'Видалити фонове зображення',
|
||||
deleteBoard_title: 'Видалити дошку',
|
||||
@@ -198,6 +205,8 @@ export default {
|
||||
forTeamBasedProjects: 'Для командних проектів.',
|
||||
fromComputer_title: "З комп'ютера",
|
||||
fromTrello: 'З Trello',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
'Повний ключ приховано з міркувань безпеки. Перегенеруйте його, щоб створити новий.',
|
||||
general: 'Загальне',
|
||||
gradients: 'Градієнти',
|
||||
grid: 'Сітка',
|
||||
@@ -205,7 +214,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: 'Приховати зі списку проектів та обраного',
|
||||
host: 'Хост',
|
||||
hours: 'Години',
|
||||
identity: 'Особистість',
|
||||
importBoard_title: 'Імпортувати дошку',
|
||||
information: 'Інформація',
|
||||
invalidCurrentPassword: 'Невірний поточний пароль',
|
||||
kanban: 'Канбан',
|
||||
labels: 'Мітки',
|
||||
@@ -234,6 +245,7 @@ export default {
|
||||
newUsername: "Нове ім'я користувача",
|
||||
newVersionAvailable: 'Доступна нова версія',
|
||||
newestFirst: 'Найновіші перші',
|
||||
noApiKeyCreated: 'Ключ API не створено.',
|
||||
noBoards: 'Немає дошок',
|
||||
noCardsFound: 'Карток не знайдено.',
|
||||
noConnectionToServer: 'Відсутнє підключення до сервера',
|
||||
@@ -261,10 +273,12 @@ export default {
|
||||
projectNotFound_title: 'Проект не знайдено',
|
||||
projectOwner: 'Власник проекту',
|
||||
referenceDataAndKnowledgeStorage: 'Довідкові дані та сховище знань.',
|
||||
regenerateApiKey_title: 'Перегенерувати ключ API',
|
||||
rejectUnauthorizedTlsCertificates: 'Відхиляти неавторизовані TLS-сертифікати',
|
||||
removeManager_title: 'Видалити менеджера',
|
||||
removeMember_title: 'Видалити учасника',
|
||||
role: 'Роль',
|
||||
saveThisKeyItWillNotBeShownAgain: 'Збережіть цей ключ — він більше не відображатиметься!',
|
||||
searchCards: 'Картки пошуку...',
|
||||
searchCustomFieldGroups: 'Пошук користувацьких груп полів...',
|
||||
searchCustomFields: 'Пошук користувацьких полів...',
|
||||
@@ -377,6 +391,7 @@ export default {
|
||||
archiveCards_title: 'Архівувати картки',
|
||||
assignAsOwner: 'Призначити власником',
|
||||
cancel: 'Скасувати',
|
||||
createApiKey: 'Створити ключ API',
|
||||
createBoard: 'Створити дошку',
|
||||
createCustomFieldGroup: 'Створити групу користувацьких полів',
|
||||
createFile: 'Створити файл',
|
||||
@@ -386,6 +401,7 @@ export default {
|
||||
deactivateUser: 'Деактивувати користувача',
|
||||
deactivateUser_title: 'Деактивувати користувача',
|
||||
delete: 'Видалити',
|
||||
deleteApiKey: 'Видалити ключ API',
|
||||
deleteAttachment: 'Видалити вкладення',
|
||||
deleteAvatar: 'Видалити аватар',
|
||||
deleteBackgroundImage: 'Видалити фонове зображення',
|
||||
@@ -444,6 +460,7 @@ export default {
|
||||
move: 'Перемістити',
|
||||
moveCard_title: 'Перемістити картку',
|
||||
moveList_title: 'Перемістити список',
|
||||
regenerateApiKey: 'Перегенерувати ключ API',
|
||||
remove: 'Видалити',
|
||||
removeAssignee: 'Видалити виконавця',
|
||||
removeColor: 'Видалити колір',
|
||||
|
||||
@@ -40,6 +40,8 @@ export default {
|
||||
"Barcha o'zgarishlar tarmoq ulanishi tiklangandan so'ng<br />avtomatik saqlanadi.",
|
||||
alphabetically: 'Alifbo tartibida',
|
||||
alwaysDisplayCardCreator: "Karta yaratuvchisini doim ko'rsatish",
|
||||
apiKeyCreated_title: 'API kaliti yaratildi',
|
||||
apiKey_title: 'API kaliti',
|
||||
archive: 'Arxiv',
|
||||
archiveCard_title: 'Kartani arxivlash',
|
||||
archiveCards_title: 'Kartalarni arxivlash',
|
||||
@@ -50,6 +52,7 @@ export default {
|
||||
'Ushbu loyiha menejerini egasi sifatida tayinlashni xohlaysizmi?',
|
||||
areYouSureYouWantToDeactivateThisUser:
|
||||
'Ushbu foydalanuvchini faolsizlantirishni xohlaysizmi?',
|
||||
areYouSureYouWantToDeleteThisApiKey: "Ushbu API kalitini o'chirmoqchimisiz?",
|
||||
areYouSureYouWantToDeleteThisAttachment: "Ushbu biriktirmani o'chirmoqchimisiz?",
|
||||
areYouSureYouWantToDeleteThisBackgroundImage: "Ushbu fon rasmini o'chirmoqchimisiz?",
|
||||
areYouSureYouWantToDeleteThisBoard: "Ushbu doskani o'chirmoqchimisiz?",
|
||||
@@ -74,6 +77,8 @@ export default {
|
||||
areYouSureYouWantToLeaveProject: 'Ushbu loyihadan chiqmoqchimisiz?',
|
||||
areYouSureYouWantToMakeThisProjectPrivate: 'Ushbu loyihani shaxsiy qilmoqchimisiz?',
|
||||
areYouSureYouWantToMakeThisProjectShared: 'Ushbu loyihani umumiy qilmoqchimisiz?',
|
||||
areYouSureYouWantToRegenerateThisApiKey:
|
||||
'Ushbu API kalitini qayta yaratmoqchimisiz? Oldingi kalit endi ishlamaydi.',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject:
|
||||
"Ushbu boshqaruvchini loyihadan o'chirmoqchimisiz?",
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard: "Ushbu a'zoni doskadan o'chirmoqchimisiz?",
|
||||
@@ -127,6 +132,7 @@ export default {
|
||||
createTextFile_title: 'Matnli fayl yaratish',
|
||||
creator: 'Yaratuvchi',
|
||||
currentPassword: 'Hozirgi parol',
|
||||
currentUser: 'Joriy foydalanuvchi',
|
||||
customFieldGroup_title: 'Maxsus maydon guruhi',
|
||||
customFieldGroups_title: 'Maxsus maydon guruhlari',
|
||||
customField_title: 'Maxsus maydon',
|
||||
@@ -139,6 +145,7 @@ export default {
|
||||
defaultView_title: "Standart ko'rinish",
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject:
|
||||
"Ushbu loyihani o'chirish uchun barcha doskalarni o'chiring",
|
||||
deleteApiKey_title: "API kalitini o'chirish",
|
||||
deleteAttachment_title: "Ilovani o'chirish",
|
||||
deleteBackgroundImage_title: "Orqa fon rasmini o'chirish",
|
||||
deleteBoard_title: "Doskani o'chirish",
|
||||
@@ -194,6 +201,8 @@ export default {
|
||||
forTeamBasedProjects: 'Jamoa loyihalari uchun.',
|
||||
fromComputer_title: 'Kompyuterdan',
|
||||
fromTrello: 'Trello dan',
|
||||
fullKeyIsHiddenForSecurityReasons:
|
||||
"To'liq kalit xavfsizlik sabablariga ko'ra yashirilgan. Yangi yaratish uchun uni qayta yarating.",
|
||||
general: 'Umumiy',
|
||||
gradients: 'Gradientlar',
|
||||
grid: 'Panjara',
|
||||
@@ -201,7 +210,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: "Loyihalar ro'yxati va sevimlilardan yashirish",
|
||||
host: 'Host',
|
||||
hours: 'Soat',
|
||||
identity: 'Shaxs',
|
||||
importBoard_title: 'Doskani import qilish',
|
||||
information: 'Maʻlumot',
|
||||
invalidCurrentPassword: 'Hozirgi parol xato',
|
||||
kanban: 'Kanban',
|
||||
labels: 'Yorliqlar',
|
||||
@@ -230,6 +241,7 @@ export default {
|
||||
newUsername: 'Yangi foydalanuvchi nomi',
|
||||
newVersionAvailable: 'Yangi versiya mavjud',
|
||||
newestFirst: 'Avval yangisi',
|
||||
noApiKeyCreated: 'API kaliti yaratilmagan.',
|
||||
noBoards: "Doskalar yo'q",
|
||||
noCardsFound: 'Kartalar topilmadi.',
|
||||
noConnectionToServer: "Server bilan bog'lanish yo'q",
|
||||
@@ -257,10 +269,12 @@ export default {
|
||||
projectNotFound_title: 'Loyiha topilmadi',
|
||||
projectOwner: 'Loyiha egasi',
|
||||
referenceDataAndKnowledgeStorage: "Ma'lumotnoma va bilim saqlash.",
|
||||
regenerateApiKey_title: 'API kalitini qayta yaratish',
|
||||
rejectUnauthorizedTlsCertificates: 'Ruxsatsiz TLS sertifikatlarini rad etish',
|
||||
removeManager_title: "Boshqaruvchini o'chirish",
|
||||
removeMember_title: "A'zoni o'chirish",
|
||||
role: 'Rol',
|
||||
saveThisKeyItWillNotBeShownAgain: "Ushbu kalitni saqlang — u boshqa ko'rsatilmaydi!",
|
||||
searchCards: 'Kartalarni qidirish...',
|
||||
searchCustomFieldGroups: 'Maxsus maydon guruhlarini qidirish...',
|
||||
searchCustomFields: 'Maxsus maydonlarni qidirish...',
|
||||
@@ -375,6 +389,7 @@ export default {
|
||||
archiveCards_title: 'Kartalarni arxivlash',
|
||||
assignAsOwner: 'Egasi sifatida tayinlash',
|
||||
cancel: 'Bekor qilish',
|
||||
createApiKey: 'API kalitini yaratish',
|
||||
createBoard: 'Doska yaratish',
|
||||
createCustomFieldGroup: 'Maxsus maydon guruhi yaratish',
|
||||
createFile: 'Fayl yaratish',
|
||||
@@ -384,6 +399,7 @@ export default {
|
||||
deactivateUser: 'Foydalanuvchini faolsizlantirish',
|
||||
deactivateUser_title: 'Foydalanuvchini faolsizlantirish',
|
||||
delete: "O'chirish",
|
||||
deleteApiKey: "API kalitini o'chirish",
|
||||
deleteAttachment: "Ilovani o'chirish",
|
||||
deleteAvatar: "Avatarni o'chirish",
|
||||
deleteBackgroundImage: "Orqa fon rasmini o'chirish",
|
||||
@@ -442,6 +458,7 @@ export default {
|
||||
move: "Ko'chirish",
|
||||
moveCard_title: "Kartani ko'chirish",
|
||||
moveList_title: "Ro'yxatni ko'chirish",
|
||||
regenerateApiKey: 'API kalitini qayta yaratish',
|
||||
remove: "O'chirish",
|
||||
removeAssignee: 'Ijrochini olib tashlash',
|
||||
removeColor: 'Rangni olib tashlash',
|
||||
|
||||
@@ -39,6 +39,8 @@ export default {
|
||||
allChangesWillBeAutomaticallySavedAfterConnectionRestored: '所有修改会在重连后自动保存',
|
||||
alphabetically: '按字母顺序',
|
||||
alwaysDisplayCardCreator: '始终显示卡片创建者',
|
||||
apiKeyCreated_title: 'API密钥已创建',
|
||||
apiKey_title: 'API密钥',
|
||||
archive: '归档',
|
||||
archiveCard_title: '归档卡片',
|
||||
archiveCards_title: '归档多个卡片',
|
||||
@@ -47,6 +49,7 @@ export default {
|
||||
areYouSureYouWantToArchiveThisCard: '您确定要归档此卡片吗?',
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner: '您确定要指定此项目管理人作为所有者吗?',
|
||||
areYouSureYouWantToDeactivateThisUser: '您确定要停用此用户吗?',
|
||||
areYouSureYouWantToDeleteThisApiKey: '确认删除此API密钥吗?',
|
||||
areYouSureYouWantToDeleteThisAttachment: '确认删除此附件吗?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage: '您确定要删除此背景图片吗?',
|
||||
areYouSureYouWantToDeleteThisBoard: '确认删除此面板吗?',
|
||||
@@ -68,6 +71,7 @@ export default {
|
||||
areYouSureYouWantToLeaveProject: '确认离开此项目吗?',
|
||||
areYouSureYouWantToMakeThisProjectPrivate: '您确定要将此项目设为私有吗?',
|
||||
areYouSureYouWantToMakeThisProjectShared: '您确定要将此项目设为共享吗?',
|
||||
areYouSureYouWantToRegenerateThisApiKey: '确认重新生成此API密钥吗?之前的密钥将不再有效。',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject: '确认从本项目删除该管理员吗?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard: '确认本面板删除该成员吗?',
|
||||
assignAsOwner_title: '指定为所有者',
|
||||
@@ -113,6 +117,7 @@ export default {
|
||||
createTextFile_title: '创建文本文件',
|
||||
creator: '创建者',
|
||||
currentPassword: '当前密码',
|
||||
currentUser: '当前用户',
|
||||
customFieldGroup_title: '自定义字段组',
|
||||
customFieldGroups_title: '自定义字段组',
|
||||
customField_title: '自定义字段',
|
||||
@@ -124,6 +129,7 @@ export default {
|
||||
defaultFrom: '默认"发件人"',
|
||||
defaultView_title: '默认视图',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject: '删除所有面板后方可删除此项目',
|
||||
deleteApiKey_title: '删除API密钥',
|
||||
deleteAttachment_title: '删除附件',
|
||||
deleteBackgroundImage_title: '删除背景图片',
|
||||
deleteBoard_title: '删除面板',
|
||||
@@ -179,6 +185,7 @@ export default {
|
||||
forTeamBasedProjects: '用于团队项目。',
|
||||
fromComputer_title: '来自计算机',
|
||||
fromTrello: '来自 Trello',
|
||||
fullKeyIsHiddenForSecurityReasons: '出于安全考虑,完整密钥已隐藏。重新生成以创建新密钥。',
|
||||
general: '全体',
|
||||
gradients: '渐变',
|
||||
grid: '网格',
|
||||
@@ -186,7 +193,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: '从项目列表和收藏中隐藏',
|
||||
host: '主机',
|
||||
hours: '小时',
|
||||
identity: '身份',
|
||||
importBoard_title: '导入面板',
|
||||
information: '信息',
|
||||
invalidCurrentPassword: '当前密码错误',
|
||||
kanban: '看板',
|
||||
labels: '标签',
|
||||
@@ -215,6 +224,7 @@ export default {
|
||||
newUsername: '新用户名',
|
||||
newVersionAvailable: '有新版本可用',
|
||||
newestFirst: '最新优先',
|
||||
noApiKeyCreated: '未创建API密钥。',
|
||||
noBoards: '没有面板',
|
||||
noCardsFound: '未找到卡片。',
|
||||
noConnectionToServer: '未连接服务器',
|
||||
@@ -241,10 +251,12 @@ export default {
|
||||
projectNotFound_title: '项目未找到',
|
||||
projectOwner: '项目所有者',
|
||||
referenceDataAndKnowledgeStorage: '参考数据和知识存储。',
|
||||
regenerateApiKey_title: '重新生成API密钥',
|
||||
rejectUnauthorizedTlsCertificates: '拒绝未授权的TLS证书',
|
||||
removeManager_title: '删除管理员',
|
||||
removeMember_title: '删除成员',
|
||||
role: '角色',
|
||||
saveThisKeyItWillNotBeShownAgain: '保存此密钥——它不会再次显示!',
|
||||
searchCards: '搜索卡片...',
|
||||
searchCustomFieldGroups: '搜索自定义字段组...',
|
||||
searchCustomFields: '搜索自定义字段...',
|
||||
@@ -354,6 +366,7 @@ export default {
|
||||
archiveCards_title: '归档多个卡片',
|
||||
assignAsOwner: '指定为所有者',
|
||||
cancel: '取消',
|
||||
createApiKey: '创建API密钥',
|
||||
createBoard: '创建面板',
|
||||
createCustomFieldGroup: '创建自定义字段组',
|
||||
createFile: '创建文件',
|
||||
@@ -363,6 +376,7 @@ export default {
|
||||
deactivateUser: '停用用户',
|
||||
deactivateUser_title: '停用用户',
|
||||
delete: '删除',
|
||||
deleteApiKey: '删除API密钥',
|
||||
deleteAttachment: '删除附件',
|
||||
deleteAvatar: '删除头像',
|
||||
deleteBackgroundImage: '删除背景图片',
|
||||
@@ -421,6 +435,7 @@ export default {
|
||||
move: '移动',
|
||||
moveCard_title: '移动卡片',
|
||||
moveList_title: '移动列表',
|
||||
regenerateApiKey: '重新生成API密钥',
|
||||
remove: '删除',
|
||||
removeAssignee: '移除负责人',
|
||||
removeColor: '移除颜色',
|
||||
|
||||
@@ -39,6 +39,8 @@ export default {
|
||||
allChangesWillBeAutomaticallySavedAfterConnectionRestored: '所有修改會在重新連線後自動保存',
|
||||
alphabetically: '按字母順序',
|
||||
alwaysDisplayCardCreator: '總是顯示卡片建立者',
|
||||
apiKeyCreated_title: 'API金鑰已建立',
|
||||
apiKey_title: 'API金鑰',
|
||||
archive: '封存',
|
||||
archiveCard_title: '封存卡片',
|
||||
archiveCards_title: '封存卡片',
|
||||
@@ -47,6 +49,7 @@ export default {
|
||||
areYouSureYouWantToArchiveThisCard: '確認封存此卡片嗎?',
|
||||
areYouSureYouWantToAssignThisProjectManagerAsOwner: '確認將此專案管理員指派為擁有者嗎?',
|
||||
areYouSureYouWantToDeactivateThisUser: '確認停用此使用者嗎?',
|
||||
areYouSureYouWantToDeleteThisApiKey: '確認刪除此API金鑰嗎?',
|
||||
areYouSureYouWantToDeleteThisAttachment: '確認刪除此附件嗎?',
|
||||
areYouSureYouWantToDeleteThisBackgroundImage: '確認刪除此背景圖片嗎?',
|
||||
areYouSureYouWantToDeleteThisBoard: '確認刪除此看板嗎?',
|
||||
@@ -68,6 +71,7 @@ export default {
|
||||
areYouSureYouWantToLeaveProject: '確認離開此專案嗎?',
|
||||
areYouSureYouWantToMakeThisProjectPrivate: '確認將此專案設為私人嗎?',
|
||||
areYouSureYouWantToMakeThisProjectShared: '確認將此專案設為共享嗎?',
|
||||
areYouSureYouWantToRegenerateThisApiKey: '確認重新產生此API金鑰嗎?之前的金鑰將不再有效。',
|
||||
areYouSureYouWantToRemoveThisManagerFromProject: '確認從此專案中刪除該管理員嗎?',
|
||||
areYouSureYouWantToRemoveThisMemberFromBoard: '確認從此看板中刪除該成員嗎?',
|
||||
assignAsOwner_title: '指派為擁有者',
|
||||
@@ -113,6 +117,7 @@ export default {
|
||||
createTextFile_title: '創建文本文件',
|
||||
creator: '建立者',
|
||||
currentPassword: '當前密碼',
|
||||
currentUser: '目前使用者',
|
||||
customFieldGroup_title: '自定義欄位群組',
|
||||
customFieldGroups_title: '自定義欄位群組',
|
||||
customField_title: '自定義欄位',
|
||||
@@ -124,6 +129,7 @@ export default {
|
||||
defaultFrom: '預設發送者',
|
||||
defaultView_title: '預設檢視',
|
||||
deleteAllBoardsToBeAbleToDeleteThisProject: '刪除所有看板以便刪除此專案',
|
||||
deleteApiKey_title: '刪除API金鑰',
|
||||
deleteAttachment_title: '刪除附件',
|
||||
deleteBackgroundImage_title: '刪除背景圖片',
|
||||
deleteBoard_title: '刪除看板',
|
||||
@@ -179,6 +185,7 @@ export default {
|
||||
forTeamBasedProjects: '用於團隊專案。',
|
||||
fromComputer_title: '來自電腦',
|
||||
fromTrello: '來自 Trello',
|
||||
fullKeyIsHiddenForSecurityReasons: '出於安全考量,完整金鑰已隱藏。重新產生以建立新金鑰。',
|
||||
general: '通用',
|
||||
gradients: '漸層',
|
||||
grid: '網格',
|
||||
@@ -186,7 +193,9 @@ export default {
|
||||
hideFromProjectListAndFavorites: '從專案列表和收藏夾中隱藏',
|
||||
host: '主機',
|
||||
hours: '小時',
|
||||
identity: '身分',
|
||||
importBoard_title: '導入看板',
|
||||
information: '資訊',
|
||||
invalidCurrentPassword: '當前密碼錯誤',
|
||||
kanban: '看板',
|
||||
labels: '標籤',
|
||||
@@ -215,6 +224,7 @@ export default {
|
||||
newUsername: '新使用者名稱',
|
||||
newVersionAvailable: '有新版本可用',
|
||||
newestFirst: '最新優先',
|
||||
noApiKeyCreated: '未建立API金鑰。',
|
||||
noBoards: '沒有看板',
|
||||
noCardsFound: '未找到卡片。',
|
||||
noConnectionToServer: '未連接到伺服器',
|
||||
@@ -241,10 +251,12 @@ export default {
|
||||
projectNotFound_title: '專案未找到',
|
||||
projectOwner: '專案擁有者',
|
||||
referenceDataAndKnowledgeStorage: '參考資料和知識儲存。',
|
||||
regenerateApiKey_title: '重新產生API金鑰',
|
||||
rejectUnauthorizedTlsCertificates: '拒絕未授權的 TLS 憑證',
|
||||
removeManager_title: '刪除管理員',
|
||||
removeMember_title: '刪除成員',
|
||||
role: '角色',
|
||||
saveThisKeyItWillNotBeShownAgain: '儲存此金鑰——它不會再次顯示!',
|
||||
searchCards: '搜尋卡片...',
|
||||
searchCustomFieldGroups: '搜尋自定義欄位群組...',
|
||||
searchCustomFields: '搜尋自定義欄位...',
|
||||
@@ -354,6 +366,7 @@ export default {
|
||||
archiveCards_title: '封存卡片',
|
||||
assignAsOwner: '指派為擁有者',
|
||||
cancel: '取消',
|
||||
createApiKey: '建立API金鑰',
|
||||
createBoard: '創建看板',
|
||||
createCustomFieldGroup: '創建自定義欄位群組',
|
||||
createFile: '創建文件',
|
||||
@@ -363,6 +376,7 @@ export default {
|
||||
deactivateUser: '停用使用者',
|
||||
deactivateUser_title: '停用使用者',
|
||||
delete: '刪除',
|
||||
deleteApiKey: '刪除API金鑰',
|
||||
deleteAttachment: '刪除附件',
|
||||
deleteAvatar: '刪除頭像',
|
||||
deleteBackgroundImage: '刪除背景圖片',
|
||||
@@ -421,6 +435,7 @@ export default {
|
||||
move: '移動',
|
||||
moveCard_title: '移動卡片',
|
||||
moveList_title: '移動列表',
|
||||
regenerateApiKey: '重新產生API金鑰',
|
||||
remove: '刪除',
|
||||
removeAssignee: '移除受派者',
|
||||
removeColor: '移除顏色',
|
||||
|
||||
@@ -38,6 +38,12 @@ const DEFAULT_USERNAME_UPDATE_FORM = {
|
||||
error: null,
|
||||
};
|
||||
|
||||
const DEFAULT_API_KEY_STATE = {
|
||||
value: null,
|
||||
isCreating: false,
|
||||
error: null,
|
||||
};
|
||||
|
||||
const filterProjectModels = (projectModels, search, isHidden) => {
|
||||
let filteredProjectModels = projectModels.filter(
|
||||
(projectModel) => projectModel.isHidden === isHidden,
|
||||
@@ -67,6 +73,7 @@ export default class extends BaseModel {
|
||||
phone: attr(),
|
||||
organization: attr(),
|
||||
language: attr(),
|
||||
apiKeyPrefix: attr(),
|
||||
subscribeToOwnCards: attr(),
|
||||
subscribeToCardWhenCommenting: attr(),
|
||||
turnOffRecentCardHighlighting: attr(),
|
||||
@@ -86,6 +93,9 @@ export default class extends BaseModel {
|
||||
usernameUpdateForm: attr({
|
||||
getDefault: () => DEFAULT_USERNAME_UPDATE_FORM,
|
||||
}),
|
||||
apiKeyState: attr({
|
||||
getDefault: () => DEFAULT_API_KEY_STATE,
|
||||
}),
|
||||
};
|
||||
|
||||
static reducer({ type, payload }, User) {
|
||||
@@ -275,6 +285,53 @@ export default class extends BaseModel {
|
||||
});
|
||||
|
||||
break;
|
||||
case ActionTypes.USER_API_KEY_CREATE: {
|
||||
const userModel = User.withId(payload.id);
|
||||
|
||||
userModel.apiKeyState = {
|
||||
...userModel.apiKeyState,
|
||||
isCreating: true,
|
||||
};
|
||||
|
||||
break;
|
||||
}
|
||||
case ActionTypes.USER_API_KEY_CREATE__SUCCESS:
|
||||
User.withId(payload.user.id).update({
|
||||
...payload.user,
|
||||
apiKeyState: {
|
||||
...DEFAULT_API_KEY_STATE,
|
||||
value: payload.apiKey,
|
||||
},
|
||||
});
|
||||
|
||||
break;
|
||||
case ActionTypes.USER_API_KEY_CREATE__FAILURE: {
|
||||
const userModel = User.withId(payload.id);
|
||||
|
||||
userModel.apiKeyState = {
|
||||
...userModel.apiKeyState,
|
||||
isCreating: false,
|
||||
};
|
||||
|
||||
break;
|
||||
}
|
||||
case ActionTypes.USER_API_KEY_DELETE:
|
||||
User.withId(payload.id).update({
|
||||
apiKeyPrefix: null,
|
||||
apiKeyState: DEFAULT_API_KEY_STATE,
|
||||
});
|
||||
|
||||
break;
|
||||
case ActionTypes.USER_API_KEY_VALUE_CLEAR: {
|
||||
const userModel = User.withId(payload.id);
|
||||
|
||||
userModel.apiKeyState = {
|
||||
...userModel.apiKeyState,
|
||||
value: null,
|
||||
};
|
||||
|
||||
break;
|
||||
}
|
||||
case ActionTypes.USER_DELETE:
|
||||
User.withId(payload.id).deleteWithRelated();
|
||||
|
||||
|
||||
@@ -8,11 +8,11 @@ import { combineReducers } from 'redux';
|
||||
import authenticateForm from './authenticate-form';
|
||||
import userCreateForm from './user-create-form';
|
||||
import projectCreateForm from './project-create-form';
|
||||
import smtpTest from './smtp-test';
|
||||
import smtpTestState from './smtp-test-state';
|
||||
|
||||
export default combineReducers({
|
||||
authenticateForm,
|
||||
userCreateForm,
|
||||
projectCreateForm,
|
||||
smtpTest,
|
||||
smtpTestState,
|
||||
});
|
||||
|
||||
@@ -338,6 +338,45 @@ export function* updateCurrentUserAvatar(data) {
|
||||
yield call(updateUserAvatar, currentUserId, data);
|
||||
}
|
||||
|
||||
export function* createUserApiKey(id) {
|
||||
yield put(actions.createUserApiKey(id));
|
||||
|
||||
let user;
|
||||
let apiKey;
|
||||
|
||||
try {
|
||||
({
|
||||
item: user,
|
||||
included: { apiKey },
|
||||
} = yield call(request, api.createUserApiKey, id));
|
||||
} catch (error) {
|
||||
yield put(actions.createUserApiKey.failure(id, error));
|
||||
return;
|
||||
}
|
||||
|
||||
yield put(actions.createUserApiKey.success(user, apiKey));
|
||||
}
|
||||
|
||||
export function* deleteUserApiKey(id) {
|
||||
yield put(actions.deleteUserApiKey(id));
|
||||
|
||||
let user;
|
||||
try {
|
||||
({ item: user } = yield call(request, api.updateUser, id, {
|
||||
apiKey: null,
|
||||
}));
|
||||
} catch (error) {
|
||||
yield put(actions.deleteUserApiKey.failure(id, error));
|
||||
return;
|
||||
}
|
||||
|
||||
yield put(actions.deleteUserApiKey.success(user));
|
||||
}
|
||||
|
||||
export function* clearUserApiKeyValue(id) {
|
||||
yield put(actions.clearUserApiKeyValue(id));
|
||||
}
|
||||
|
||||
export function* deleteUser(id) {
|
||||
yield put(actions.deleteUser(id));
|
||||
|
||||
@@ -474,6 +513,9 @@ export default {
|
||||
clearCurrentUserUsernameUpdateError,
|
||||
updateUserAvatar,
|
||||
updateCurrentUserAvatar,
|
||||
createUserApiKey,
|
||||
deleteUserApiKey,
|
||||
clearUserApiKeyValue,
|
||||
deleteUser,
|
||||
handleUserDelete,
|
||||
addUserToCard,
|
||||
|
||||
@@ -66,6 +66,15 @@ export default function* usersWatchers() {
|
||||
takeEvery(EntryActionTypes.CURRENT_USER_AVATAR_UPDATE, ({ payload: { data } }) =>
|
||||
services.updateCurrentUserAvatar(data),
|
||||
),
|
||||
takeEvery(EntryActionTypes.USER_API_KEY_CREATE, ({ payload: { id } }) =>
|
||||
services.createUserApiKey(id),
|
||||
),
|
||||
takeEvery(EntryActionTypes.USER_API_KEY_DELETE, ({ payload: { id } }) =>
|
||||
services.deleteUserApiKey(id),
|
||||
),
|
||||
takeEvery(EntryActionTypes.USER_API_KEY_VALUE_CLEAR, ({ payload: { id } }) =>
|
||||
services.clearUserApiKeyValue(id),
|
||||
),
|
||||
takeEvery(EntryActionTypes.USER_DELETE, ({ payload: { id } }) => services.deleteUser(id)),
|
||||
takeEvery(EntryActionTypes.USER_DELETE_HANDLE, ({ payload: { user } }) =>
|
||||
services.handleUserDelete(user),
|
||||
|
||||
@@ -21,7 +21,7 @@ export const selectUserCreateForm = ({ ui: { userCreateForm } }) => userCreateFo
|
||||
|
||||
export const selectProjectCreateForm = ({ ui: { projectCreateForm } }) => projectCreateForm;
|
||||
|
||||
export const selectSmtpTest = ({ ui: { smtpTest } }) => smtpTest;
|
||||
export const selectSmtpTestState = ({ ui: { smtpTestState } }) => smtpTestState;
|
||||
|
||||
export default {
|
||||
selectIsSocketDisconnected,
|
||||
@@ -33,5 +33,5 @@ export default {
|
||||
selectAuthenticateForm,
|
||||
selectUserCreateForm,
|
||||
selectProjectCreateForm,
|
||||
selectSmtpTest,
|
||||
selectSmtpTestState,
|
||||
};
|
||||
|
||||
@@ -45,16 +45,7 @@ export const makeSelectUserById = () =>
|
||||
|
||||
export const selectUserById = makeSelectUserById();
|
||||
|
||||
export const selectUsersExceptCurrent = createSelector(
|
||||
orm,
|
||||
(state) => selectCurrentUserId(state),
|
||||
({ User }, id) =>
|
||||
User.getAllQuerySet()
|
||||
.exclude({
|
||||
id,
|
||||
})
|
||||
.toRefArray(),
|
||||
);
|
||||
export const selectUsers = createSelector(orm, ({ User }) => User.getAllQuerySet().toRefArray());
|
||||
|
||||
export const selectActiveUsers = createSelector(orm, ({ User }) =>
|
||||
User.getActiveQuerySet().toRefArray(),
|
||||
@@ -354,7 +345,7 @@ export default {
|
||||
makeSelectUserById,
|
||||
selectUserById,
|
||||
selectCurrentUserId,
|
||||
selectUsersExceptCurrent,
|
||||
selectUsers,
|
||||
selectActiveUsers,
|
||||
selectActiveUsersTotal,
|
||||
selectActiveAdminOrProjectOwnerUsers,
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
* example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ4...
|
||||
* 401:
|
||||
* $ref: '#/components/responses/Unauthorized'
|
||||
* security:
|
||||
* - bearerAuth: []
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
/*!
|
||||
* Copyright (c) 2025 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
* /users/{id}/api-key:
|
||||
* post:
|
||||
* summary: Create user API key
|
||||
* description: Generates a user's API key. The full API key is returned only once and cannot be retrieved again.
|
||||
* tags:
|
||||
* - Users
|
||||
* operationId: createUserApiKey
|
||||
* parameters:
|
||||
* - name: id
|
||||
* in: path
|
||||
* required: true
|
||||
* description: ID of the user to create API key for
|
||||
* schema:
|
||||
* type: string
|
||||
* example: "1357158568008091264"
|
||||
* responses:
|
||||
* 200:
|
||||
* description: API key created successfully
|
||||
* content:
|
||||
* application/json:
|
||||
* schema:
|
||||
* type: object
|
||||
* required:
|
||||
* - item
|
||||
* - included
|
||||
* properties:
|
||||
* item:
|
||||
* $ref: '#/components/schemas/User'
|
||||
* included:
|
||||
* type: object
|
||||
* required:
|
||||
* - apiKey
|
||||
* properties:
|
||||
* apiKey:
|
||||
* type: string
|
||||
* description: API key of the user (returned only once)
|
||||
* example: D89VszVs_oSS6TdDtYmi0j1LhugOioY40dDVssESO
|
||||
* 400:
|
||||
* $ref: '#/components/responses/ValidationError'
|
||||
* 401:
|
||||
* $ref: '#/components/responses/Unauthorized'
|
||||
* 404:
|
||||
* $ref: '#/components/responses/NotFound'
|
||||
*/
|
||||
|
||||
const { idInput } = require('../../../utils/inputs');
|
||||
|
||||
const Errors = {
|
||||
USER_NOT_FOUND: {
|
||||
userNotFound: 'User not found',
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
inputs: {
|
||||
id: {
|
||||
...idInput,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
|
||||
exits: {
|
||||
userNotFound: {
|
||||
responseType: 'notFound',
|
||||
},
|
||||
},
|
||||
|
||||
async fn(inputs) {
|
||||
const { currentUser } = this.req;
|
||||
|
||||
let user = await User.qm.getOneById(inputs.id);
|
||||
|
||||
if (!user) {
|
||||
throw Errors.USER_NOT_FOUND;
|
||||
}
|
||||
|
||||
const { key: apiKey, prefix: apiKeyPrefix } = sails.helpers.utils.generateApiKey();
|
||||
|
||||
user = await sails.helpers.users.updateOne.with({
|
||||
record: user,
|
||||
values: {
|
||||
apiKeyPrefix,
|
||||
apiKeyHash: sails.helpers.utils.hash(apiKey),
|
||||
},
|
||||
actorUser: currentUser,
|
||||
request: this.req,
|
||||
});
|
||||
|
||||
return {
|
||||
item: sails.helpers.users.presentOne(user, currentUser),
|
||||
included: {
|
||||
apiKey,
|
||||
},
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -161,7 +161,7 @@ module.exports = {
|
||||
throw Errors.USER_NOT_FOUND;
|
||||
}
|
||||
|
||||
if (user.id === currentUser.id) {
|
||||
if (currentSession && user.id === currentUser.id) {
|
||||
const { token: accessToken } = sails.helpers.utils.createJwtToken(
|
||||
user.id,
|
||||
user.passwordChangedAt,
|
||||
|
||||
@@ -59,6 +59,11 @@
|
||||
* enum: [ar-YE, bg-BG, cs-CZ, da-DK, de-DE, el-GR, en-GB, en-US, es-ES, et-EE, fa-IR, fi-FI, fr-FR, hu-HU, id-ID, it-IT, ja-JP, ko-KR, nl-NL, pl-PL, pt-BR, pt-PT, ro-RO, ru-RU, sk-SK, sr-Cyrl-RS, sr-Latn-RS, sv-SE, tr-TR, uk-UA, uz-UZ, zh-CN, zh-TW]
|
||||
* description: Preferred language for user interface and notifications
|
||||
* example: en-US
|
||||
* apiKey:
|
||||
* type: object
|
||||
* nullable: true
|
||||
* description: API key of the user (only null value to remove API key)
|
||||
* example: null
|
||||
* subscribeToOwnCards:
|
||||
* type: boolean
|
||||
* description: Whether the user subscribes to their own cards
|
||||
@@ -167,6 +172,10 @@ module.exports = {
|
||||
type: 'string',
|
||||
isIn: User.LANGUAGES,
|
||||
},
|
||||
apiKey: {
|
||||
type: 'json',
|
||||
custom: _.isNull,
|
||||
},
|
||||
subscribeToOwnCards: {
|
||||
type: 'boolean',
|
||||
},
|
||||
@@ -220,6 +229,10 @@ module.exports = {
|
||||
throw Errors.USER_NOT_FOUND; // Forbidden
|
||||
}
|
||||
|
||||
if (currentUser.role === User.Roles.ADMIN) {
|
||||
availableInputKeys.push('apiKey');
|
||||
}
|
||||
|
||||
if (_.difference(Object.keys(inputs), availableInputKeys).length > 0) {
|
||||
throw Errors.NOT_ENOUGH_RIGHTS;
|
||||
}
|
||||
@@ -253,6 +266,7 @@ module.exports = {
|
||||
'phone',
|
||||
'organization',
|
||||
'language',
|
||||
'apiKey',
|
||||
'subscribeToOwnCards',
|
||||
'subscribeToCardWhenCommenting',
|
||||
'turnOffRecentCardHighlighting',
|
||||
|
||||
@@ -23,8 +23,10 @@ module.exports = {
|
||||
..._.omit(inputs.record, [
|
||||
'password',
|
||||
'avatar',
|
||||
'apiKeyHash',
|
||||
'termsSignature',
|
||||
'passwordChangedAt',
|
||||
'apiKeyCreatedAt',
|
||||
'termsAcceptedAt',
|
||||
]),
|
||||
avatar: inputs.record.avatar && {
|
||||
|
||||
@@ -38,13 +38,23 @@ module.exports = {
|
||||
values.email = values.email.toLowerCase();
|
||||
}
|
||||
|
||||
let isOnlyEmailChange = false;
|
||||
let isOnlyPasswordChange = false;
|
||||
if (_.isNull(values.apiKey)) {
|
||||
Object.assign(values, {
|
||||
apiKeyPrefix: null,
|
||||
apiKeyHash: null,
|
||||
apiKeyCreatedAt: null,
|
||||
});
|
||||
|
||||
delete values.apiKey;
|
||||
}
|
||||
|
||||
let isOnlyPrivateFieldsChange = false;
|
||||
let isOnlyPersonalFieldsChange = false;
|
||||
let isOnlyPasswordChange = false;
|
||||
let isDeactivatedChangeToTrue = false;
|
||||
|
||||
if (!_.isUndefined(values.email) && Object.keys(values).length === 1) {
|
||||
isOnlyEmailChange = true;
|
||||
if (_.difference(Object.keys(values), User.PRIVATE_FIELD_NAMES).length === 0) {
|
||||
isOnlyPrivateFieldsChange = true;
|
||||
}
|
||||
|
||||
if (_.difference(Object.keys(values), User.PERSONAL_FIELD_NAMES).length === 0) {
|
||||
@@ -64,6 +74,10 @@ module.exports = {
|
||||
values.username = values.username.toLowerCase();
|
||||
}
|
||||
|
||||
if (values.apiKeyHash) {
|
||||
values.apiKeyCreatedAt = new Date().toISOString();
|
||||
}
|
||||
|
||||
if (values.isDeactivated && values.isDeactivated !== inputs.record.isDeactivated) {
|
||||
isDeactivatedChangeToTrue = true;
|
||||
}
|
||||
@@ -154,7 +168,7 @@ module.exports = {
|
||||
);
|
||||
});
|
||||
|
||||
if (!isOnlyEmailChange) {
|
||||
if (!isOnlyPrivateFieldsChange) {
|
||||
if (inputs.record.role === User.Roles.ADMIN && user.role !== User.Roles.ADMIN) {
|
||||
const managerProjectIds = await sails.helpers.users.getManagerProjectIds(user.id);
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
/*!
|
||||
* Copyright (c) 2024 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
sync: true,
|
||||
|
||||
fn() {
|
||||
const prefix = sails.helpers.utils.generateRandomString(8);
|
||||
const secret = sails.helpers.utils.generateRandomString(32);
|
||||
const key = `${prefix}_${secret}`;
|
||||
|
||||
return {
|
||||
key,
|
||||
prefix,
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,30 @@
|
||||
/*!
|
||||
* Copyright (c) 2024 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
const crypto = require('crypto');
|
||||
|
||||
const CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
|
||||
|
||||
module.exports = {
|
||||
sync: true,
|
||||
|
||||
inputs: {
|
||||
size: {
|
||||
type: 'number',
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
|
||||
fn(inputs) {
|
||||
const bytes = crypto.randomBytes(inputs.size);
|
||||
|
||||
let result = '';
|
||||
for (let i = 0; i < inputs.size; i += 1) {
|
||||
result += CHARS[bytes[i] % 62];
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
/*!
|
||||
* Copyright (c) 2024 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
const crypto = require('crypto');
|
||||
|
||||
module.exports = {
|
||||
sync: true,
|
||||
|
||||
inputs: {
|
||||
data: {
|
||||
type: 'ref',
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
|
||||
fn(inputs) {
|
||||
return crypto.createHash('sha256').update(inputs.data).digest('hex');
|
||||
},
|
||||
};
|
||||
@@ -13,8 +13,9 @@
|
||||
|
||||
module.exports = function defineCurrentUserHook(sails) {
|
||||
const TOKEN_PATTERN = /^Bearer /;
|
||||
const API_KEY_HEADER_NAME = 'x-api-key';
|
||||
|
||||
const getSessionAndUser = async (accessToken, httpOnlyToken) => {
|
||||
const getSessionAndUserByAccessToken = async (accessToken, httpOnlyToken) => {
|
||||
let payload;
|
||||
try {
|
||||
payload = sails.helpers.utils.verifyJwtToken(accessToken);
|
||||
@@ -50,6 +51,12 @@ module.exports = function defineCurrentUserHook(sails) {
|
||||
};
|
||||
};
|
||||
|
||||
const getUserByApiKey = (apiKey) => {
|
||||
const apiKeyHash = sails.helpers.utils.hash(apiKey);
|
||||
|
||||
return User.qm.getOneActiveByApiKeyHash(apiKeyHash);
|
||||
};
|
||||
|
||||
return {
|
||||
/**
|
||||
* Runs when this Sails app loads/lifts.
|
||||
@@ -63,7 +70,8 @@ module.exports = function defineCurrentUserHook(sails) {
|
||||
before: {
|
||||
'/api/*': {
|
||||
async fn(req, res, next) {
|
||||
const { authorization: authorizationHeader } = req.headers;
|
||||
const { authorization: authorizationHeader, [API_KEY_HEADER_NAME]: apiKey } =
|
||||
req.headers;
|
||||
|
||||
if (authorizationHeader && TOKEN_PATTERN.test(authorizationHeader)) {
|
||||
const accessToken = authorizationHeader.replace(TOKEN_PATTERN, '');
|
||||
@@ -73,7 +81,11 @@ module.exports = function defineCurrentUserHook(sails) {
|
||||
req.currentUser = User.INTERNAL;
|
||||
} else {
|
||||
const { httpOnlyToken } = req.cookies;
|
||||
const sessionAndUser = await getSessionAndUser(accessToken, httpOnlyToken);
|
||||
|
||||
const sessionAndUser = await getSessionAndUserByAccessToken(
|
||||
accessToken,
|
||||
httpOnlyToken,
|
||||
);
|
||||
|
||||
if (sessionAndUser) {
|
||||
const { session, user } = sessionAndUser;
|
||||
@@ -93,6 +105,20 @@ module.exports = function defineCurrentUserHook(sails) {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (apiKey) {
|
||||
const user = await getUserByApiKey(apiKey);
|
||||
|
||||
if (user) {
|
||||
if (user.language) {
|
||||
req.setLocale(user.language);
|
||||
}
|
||||
|
||||
req.currentUser = user;
|
||||
|
||||
if (req.isSocket) {
|
||||
sails.sockets.join(req, `@user:${user.id}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return next();
|
||||
@@ -103,7 +129,10 @@ module.exports = function defineCurrentUserHook(sails) {
|
||||
const { accessToken, httpOnlyToken } = req.cookies;
|
||||
|
||||
if (accessToken) {
|
||||
const sessionAndUser = await getSessionAndUser(accessToken, httpOnlyToken);
|
||||
const sessionAndUser = await getSessionAndUserByAccessToken(
|
||||
accessToken,
|
||||
httpOnlyToken,
|
||||
);
|
||||
|
||||
if (sessionAndUser) {
|
||||
const { session, user } = sessionAndUser;
|
||||
@@ -113,6 +142,16 @@ module.exports = function defineCurrentUserHook(sails) {
|
||||
currentUser: user,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
const { [API_KEY_HEADER_NAME]: apiKey } = req.headers;
|
||||
|
||||
if (apiKey) {
|
||||
const user = await getUserByApiKey(apiKey);
|
||||
|
||||
if (user) {
|
||||
req.currentUser = user;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return next();
|
||||
|
||||
@@ -78,6 +78,12 @@ const getOneActiveByEmailOrUsername = (emailOrUsername) => {
|
||||
});
|
||||
};
|
||||
|
||||
const getOneActiveByApiKeyHash = (apiKeyHash) =>
|
||||
User.findOne({
|
||||
apiKeyHash,
|
||||
isDeactivated: false,
|
||||
});
|
||||
|
||||
const updateOne = async (criteria, values) => {
|
||||
const enforceActiveLimit =
|
||||
values.isDeactivated === false && sails.config.custom.activeUsersLimit !== null;
|
||||
@@ -201,6 +207,7 @@ module.exports = {
|
||||
getOneById,
|
||||
getOneByEmail,
|
||||
getOneActiveByEmailOrUsername,
|
||||
getOneActiveByApiKeyHash,
|
||||
updateOne,
|
||||
deleteOne,
|
||||
};
|
||||
|
||||
@@ -100,6 +100,11 @@
|
||||
* nullable: true
|
||||
* description: Preferred language for user interface and notifications (personal field)
|
||||
* example: en-US
|
||||
* apiKeyPrefix:
|
||||
* type: string
|
||||
* nullable: true
|
||||
* description: Prefix of the API key for display purposes (private field)
|
||||
* example: D89VszVs
|
||||
* subscribeToOwnCards:
|
||||
* type: boolean
|
||||
* default: false
|
||||
@@ -235,7 +240,8 @@ const LANGUAGES = [
|
||||
'zh-TW',
|
||||
];
|
||||
|
||||
const PRIVATE_FIELD_NAMES = ['email', 'isSsoUser'];
|
||||
// TODO: find better way to handle apiKeyHash and apiKeyCreatedAt
|
||||
const PRIVATE_FIELD_NAMES = ['email', 'apiKeyPrefix', 'apiKeyHash', 'isSsoUser', 'apiKeyCreatedAt'];
|
||||
|
||||
const PERSONAL_FIELD_NAMES = [
|
||||
'language',
|
||||
@@ -319,6 +325,18 @@ module.exports = {
|
||||
isIn: LANGUAGES,
|
||||
allowNull: true,
|
||||
},
|
||||
apiKeyPrefix: {
|
||||
type: 'string',
|
||||
isNotEmptyString: true,
|
||||
allowNull: true,
|
||||
columnName: 'api_key_prefix',
|
||||
},
|
||||
apiKeyHash: {
|
||||
type: 'string',
|
||||
isNotEmptyString: true,
|
||||
allowNull: true,
|
||||
columnName: 'api_key_hash',
|
||||
},
|
||||
subscribeToOwnCards: {
|
||||
type: 'boolean',
|
||||
defaultsTo: false,
|
||||
@@ -377,6 +395,10 @@ module.exports = {
|
||||
type: 'ref',
|
||||
columnName: 'password_changed_at',
|
||||
},
|
||||
apiKeyCreatedAt: {
|
||||
type: 'ref',
|
||||
columnName: 'api_key_created_at',
|
||||
},
|
||||
termsAcceptedAt: {
|
||||
type: 'ref',
|
||||
columnName: 'terms_accepted_at',
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
module.exports = async function isAuthenticated(req, res, proceed) {
|
||||
if (!req.currentUser) {
|
||||
// TODO: provide separate error for API keys?
|
||||
return res.unauthorized('Access token is missing, invalid or expired');
|
||||
}
|
||||
|
||||
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
/*!
|
||||
* Copyright (c) 2024 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
module.exports = async function isSession(req, res, proceed) {
|
||||
if (!req.currentSession) {
|
||||
return res.notFound(); // Forbidden
|
||||
}
|
||||
|
||||
return proceed();
|
||||
};
|
||||
@@ -27,6 +27,8 @@ module.exports.policies = {
|
||||
'webhooks/update': ['is-authenticated', 'is-external', 'is-admin'],
|
||||
'webhooks/delete': ['is-authenticated', 'is-external', 'is-admin'],
|
||||
|
||||
'access-tokens/delete': ['is-authenticated', 'is-external', 'is-session'],
|
||||
|
||||
'users/index': 'is-authenticated',
|
||||
'users/create': ['is-authenticated', 'is-admin'],
|
||||
'users/show': 'is-authenticated',
|
||||
@@ -35,6 +37,7 @@ module.exports.policies = {
|
||||
'users/update-password': 'is-authenticated',
|
||||
'users/update-username': 'is-authenticated',
|
||||
'users/update-avatar': 'is-authenticated',
|
||||
'users/create-api-key': ['is-authenticated', 'is-admin'],
|
||||
'users/delete': ['is-authenticated', 'is-admin'],
|
||||
|
||||
'projects/create': ['is-authenticated', 'is-external', 'is-admin-or-project-owner'],
|
||||
|
||||
@@ -89,6 +89,7 @@ module.exports.routes = {
|
||||
'PATCH /api/users/:id/password': 'users/update-password',
|
||||
'PATCH /api/users/:id/username': 'users/update-username',
|
||||
'POST /api/users/:id/avatar': 'users/update-avatar',
|
||||
'POST /api/users/:id/api-key': 'users/create-api-key',
|
||||
'DELETE /api/users/:id': 'users/delete',
|
||||
|
||||
'GET /api/projects': 'projects/index',
|
||||
|
||||
@@ -31,12 +31,20 @@ module.exports = {
|
||||
scheme: 'bearer',
|
||||
bearerFormat: 'JWT',
|
||||
},
|
||||
apiKeyAuth: {
|
||||
type: 'apiKey',
|
||||
in: 'header',
|
||||
name: 'X-Api-Key',
|
||||
},
|
||||
},
|
||||
},
|
||||
security: [
|
||||
{
|
||||
bearerAuth: [],
|
||||
},
|
||||
{
|
||||
apiKeyAuth: [],
|
||||
},
|
||||
],
|
||||
},
|
||||
apis: ['./api/controllers/**/*.js', './api/models/*.js', './api/responses/*.js'],
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/*!
|
||||
* Copyright (c) 2024 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
exports.up = (knex) =>
|
||||
knex.schema.alterTable('user_account', (table) => {
|
||||
table.text('api_key_prefix');
|
||||
table.text('api_key_hash');
|
||||
|
||||
table.timestamp('api_key_created_at', true);
|
||||
|
||||
/* Indexes */
|
||||
|
||||
table.unique('api_key_hash');
|
||||
});
|
||||
|
||||
exports.down = (knex) =>
|
||||
knex.schema.alterTable('user_account', (table) => {
|
||||
table.dropColumn('api_key_prefix');
|
||||
table.dropColumn('api_key_hash');
|
||||
table.dropColumn('api_key_created_at');
|
||||
});
|
||||
Reference in New Issue
Block a user