Compare commits

..

66 Commits
5.4.0 ... 5.4.5

Author SHA1 Message Date
yuri
374413eaae version 2018-10-29 10:23:19 +02:00
yuri
96538a2b6f fix order by address 2018-10-29 10:16:07 +02:00
yuri
39a3a6dbd2 users nonAdminReadOnlyAttributeList 2018-10-29 10:15:37 +02:00
yuri
e0705293e1 Merge branch 'hotfix/5.4.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.4.4 2018-10-12 15:40:23 +03:00
Taras Machyshyn
29f3f7c330 Bug fixes for utf8mb4 2018-10-12 15:39:09 +03:00
yuri
0e0e81f5ae Merge branch 'hotfix/5.4.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.4.4 2018-10-10 17:03:27 +03:00
Taras Machyshyn
bf503db267 LDAP: hide new options 2018-10-09 12:38:09 +03:00
Taras Machyshyn
028ad25fc6 LDAP: bug fixes for portal users 2018-10-09 12:09:00 +03:00
yuri
950d98528a fic ics summary 2018-10-01 13:45:28 +03:00
yuri
8b2d62d27a css navbar fix 2018-10-01 11:13:25 +03:00
yuri
15d5985ec4 Merge branch 'hotfix/5.4.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.4.4 2018-09-28 17:20:36 +03:00
Taras Machyshyn
bd94543b71 PHP path 2018-09-28 17:19:58 +03:00
yuri
c54bc30bda validation popover error fix 2018-09-28 12:41:31 +03:00
yuri
f2138a4e23 field view fix 2018-09-28 12:06:46 +03:00
yuri
0e3b3c4193 email address lookup fix 2018-09-26 11:21:39 +03:00
yuri
58c767c0a6 Merge branch 'hotfix/5.4.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.4.4 2018-09-25 12:55:29 +03:00
yuri
19b4e91e25 lt_LT lang 2018-09-25 10:56:11 +03:00
yuri
67635f0b20 Merge branch 'hotfix/5.4.4' of github.com:espocrm/espocrm into hotfix/5.4.4 2018-09-25 10:44:17 +03:00
yuri
5d90b4f070 multi-enum w/o option list 2018-09-25 10:43:47 +03:00
yuri
c212eb1f20 array search by not defined options 2018-09-25 10:39:57 +03:00
Taras Machyshyn
5ae0b5a3f2 Case insensitive for LDAP 2018-09-24 16:01:12 +03:00
Xiaolu Hong
06d907d633 update zh_CN (#1054) 2018-09-24 14:26:56 +03:00
Xiaolu Hong
737c5ff2ba update zh_CN (#1052) 2018-09-24 11:03:49 +03:00
yuri
ba19934c06 selectize filter height 2018-09-21 17:01:41 +03:00
yuri
8885bb87be account role 100 2018-09-21 13:29:17 +03:00
yuri
690c873291 account role length 2018-09-21 13:22:11 +03:00
Taras Machyshyn
158cdd27bc LDAP Auth for portal users 2018-09-21 12:35:33 +03:00
yuri
3181e54aa6 lead capture send Access-Control-Allow-Origin on posting 2018-09-19 14:52:56 +03:00
yuri
8028a153af fix max portal user count 2018-09-19 14:27:25 +03:00
yuri
0a03750d26 Merge branch 'hotfix/5.4.4' of ssh://172.20.0.1/var/git/espo/backend into hotfix/5.4.4 2018-09-19 14:23:31 +03:00
yuri
e9b1a91180 massUpdate is portal user disabled 2018-09-19 14:23:25 +03:00
Taras Machyshyn
8677dd48ad Bug fixes for portal user limit 2018-09-19 14:18:52 +03:00
yuri
c3d309d07e lead capture config leadCaptureAllowOrigin 2018-09-19 13:32:27 +03:00
yuri
f3d2f0b453 cleanup deleted fix 2018-09-18 16:39:04 +03:00
yuri
fe638db414 orm mid key name fix 2018-09-18 16:37:16 +03:00
yuri
e51be3fd85 lead capture options 2018-09-18 12:49:47 +03:00
yuri
4fd345cb88 Merge branch 'hotfix/5.4.4' of github.com:espocrm/espocrm into hotfix/5.4.4 2018-09-17 12:29:23 +03:00
yuri
41e2de18aa email template disable quick create 2018-09-17 12:29:13 +03:00
yuri
df567a0603 email template placeholder list translation 2018-09-17 12:26:53 +03:00
Yuri Kuznetsov
419fb93a91 Update README.md 2018-09-14 16:48:06 +03:00
yuri
c7473be8c7 readme update 2018-09-14 16:01:21 +03:00
yuri
311a01ef41 lead capture php 5.6 compatibility 2018-09-14 14:02:16 +03:00
yuri
1a163907a3 version 2018-09-14 13:43:17 +03:00
yuri
2acdc00547 fix admin panel iframe height 2018-09-14 13:37:13 +03:00
yuri
b622d8865c fix merge 2018-09-14 13:00:03 +03:00
yuri
786fcfb580 fix email assignment permissin 2018-09-13 16:32:34 +03:00
yuri
eec8512f96 fix import 2018-09-13 14:09:19 +03:00
yuri
be62caef2b fix wysiwyg xss 2018-09-13 14:03:01 +03:00
yuri
eabd52b186 fix xss in global search 2018-09-13 13:44:25 +03:00
yuri
101087680b version 2018-09-12 15:33:04 +03:00
yuri
372f1770e0 kanban move over 2018-09-12 13:07:56 +03:00
yuri
a44dcdc9ff disable kanban dragging on touch devices 2018-09-11 15:57:04 +03:00
yuri
d44b172602 tooltip 2018-09-11 15:06:42 +03:00
yuri
241d7610ba email listen to isRepied 2018-09-11 12:16:42 +03:00
yuri
6929b2d717 mass update skipStreamNotesAcl 2018-09-10 15:24:42 +03:00
yuri
e743f61913 version 2018-09-10 12:17:15 +03:00
yuri
7f4e5dd01a note acl populate script 2018-09-10 12:15:42 +03:00
yuri
8a1b58cf7c fix kanban css 2018-09-10 11:22:22 +03:00
yuri
2a20766912 fix UniquId 2018-09-10 10:29:34 +03:00
yuri
b49679eb90 fix notification id 2018-09-10 10:27:09 +03:00
yuri
b2ea073c16 fix notifications 2018-09-10 10:24:09 +03:00
yuri
54085a59c3 fix meeting acl 2018-09-07 14:38:02 +03:00
yuri
858658768d version 2018-09-07 14:21:18 +03:00
yuri
86421010b9 fix meeting/call select manager 2018-09-07 14:20:01 +03:00
yuri
8675db36f3 stream sql optimization 2018-09-07 11:02:49 +03:00
yuri
f36a98a824 lead capture payload see more disabled 2018-09-06 15:21:45 +03:00
185 changed files with 2204 additions and 875 deletions

View File

@@ -17,10 +17,14 @@ For more information about server configuration see [this article](https://www.e
Documentation for administrators, users and developers is available [here](https://www.espocrm.com/documentation/).
### How to report bug
### How to report a bug
Create an issue [here](https://github.com/espocrm/espocrm/issues) or post on our [forum](http://forum.espocrm.com/forum/bug-reports).
### How to install a stable version
[Download](https://www.espocrm.com/download/) the latest version. See the [instructions](https://www.espocrm.com/documentation/administration/installation/) about installation.
### How to get started (for developers)
1. Clone repository to your local computer.
@@ -34,7 +38,7 @@ Now you can build. Build will create compiled css files.
To compose a proper config.php and populate database you can run install by opening `http(s)://{YOUR_CRM_URL}/install` location in a browser. Then open `data/config.php` file and add `isDeveloperMode => true`.
### How to build
### How to build (for developers)
You need to have nodejs and Grunt CLI installed.

View File

@@ -31,17 +31,38 @@ namespace Espo\Controllers;
use \Espo\Core\Exceptions\Forbidden;
use \Espo\Core\Exceptions\BadRequest;
use \Espo\Core\Exceptions\NotFound;
class LeadCapture extends \Espo\Core\Controllers\Record
{
public function postActionLeadCapture($params, $data, $request)
public function postActionLeadCapture($params, $data, $request, $response)
{
if (empty($params['apiKey'])) throw new BadRequest('No API key provided.');
if (empty($data)) throw new BadRequest('No payload provided.');
$allowOrigin = $this->getConfig()->get('leadCaptureAllowOrigin', '*');
$response->headers->set('Access-Control-Allow-Origin', $allowOrigin);
return $this->getRecordService()->leadCapture($params['apiKey'], $data);
}
public function optionsActionLeadCapture($params, $data, $request, $response)
{
if (empty($params['apiKey'])) throw new BadRequest('No API key provided.');
if (!$this->getRecordService()->isApiKeyValid($params['apiKey'])) {
throw new NotFound();
}
$allowOrigin = $this->getConfig()->get('leadCaptureAllowOrigin', '*');
$response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Accept');
$response->headers->set('Access-Control-Allow-Origin', $allowOrigin);
$response->headers->set('Access-Control-Allow-Methods', 'POST');
return true;
}
public function postActionGenerateNewApiKey($params, $data, $request)
{
if (empty($data->id)) throw new BadRequest();

View File

@@ -105,5 +105,19 @@ class User extends \Espo\Core\Controllers\Record
return $this->getService('User')->passwordChangeRequest($userName, $emailAddress, $url);
}
public function actionCreateLink($params, $data, $request)
{
if (!$this->getUser()->isAdmin()) throw new Forbidden();
return parent::actionCreateLink($params, $data, $request);
}
public function actionRemoveLink($params, $data, $request)
{
if (!$this->getUser()->isAdmin()) throw new Forbidden();
return parent::actionRemoveLink($params, $data, $request);
}
}

View File

@@ -234,7 +234,7 @@ class Application
try {
$controllerManager = $this->getContainer()->get('controllerManager');
$result = $controllerManager->process($controllerName, $actionName, $params, $data, $slim->request());
$result = $controllerManager->process($controllerName, $actionName, $params, $data, $slim->request(), $slim->response());
$container->get('output')->render($result);
} catch (\Exception $e) {
$container->get('output')->processError($e->getMessage(), $e->getCode(), false, $e);
@@ -266,7 +266,7 @@ class Application
foreach ($this->getRouteList() as $route) {
$method = strtolower($route['method']);
if (!in_array($method, $crudList)) {
if (!in_array($method, $crudList) && $method !== 'options') {
$GLOBALS['log']->error('Route: Method ['.$method.'] does not exist. Please check your route ['.$route['route'].']');
continue;
}

View File

@@ -58,7 +58,7 @@ class ControllerManager
return $this->metadata;
}
public function process($controllerName, $actionName, $params, $data, $request)
public function process($controllerName, $actionName, $params, $data, $request, $response)
{
$customClassName = '\\Espo\\Custom\\Controllers\\' . Util::normilizeClassName($controllerName);
if (class_exists($customClassName)) {
@@ -112,13 +112,13 @@ class ControllerManager
}
if (method_exists($controller, $beforeMethodName)) {
$controller->$beforeMethodName($params, $data, $request);
$controller->$beforeMethodName($params, $data, $request, $response);
}
$result = $controller->$primaryActionMethodName($params, $data, $request);
$result = $controller->$primaryActionMethodName($params, $data, $request, $response);
if (method_exists($controller, $afterMethodName)) {
$controller->$afterMethodName($params, $data, $request);
$controller->$afterMethodName($params, $data, $request, $response);
}
if (is_array($result) || is_bool($result) || $result instanceof \StdClass) {

View File

@@ -150,7 +150,7 @@ class Base
} else {
$orderPart = 'DESC';
}
$result['orderBy'] = [[$sortBy . 'Country', $orderPart], [$sortBy . 'City', $orderPart], [$sortBy . '_eet', $orderPart]];
$result['orderBy'] = [[$sortBy . 'Country', $orderPart], [$sortBy . 'City', $orderPart], [$sortBy . 'Street', $orderPart]];
return;
} else if ($type === 'enum') {
$list = $this->getMetadata()->get(['entityDefs', $this->getEntityType(), 'fields', $sortBy, 'options']);

View File

@@ -168,7 +168,7 @@ class Auth
return;
}
$user = $this->authentication->login($username, $password, $authToken);
$user = $this->authentication->login($username, $password, $authToken, $this->isPortal());
$authLogRecord = null;

View File

@@ -33,7 +33,7 @@ use \Espo\Core\Exceptions\Error;
class Espo extends Base
{
public function login($username, $password, \Espo\Entities\AuthToken $authToken = null)
public function login($username, $password, \Espo\Entities\AuthToken $authToken = null, $isPortal = null)
{
if ($authToken) {
$hash = $authToken->get('hash');
@@ -51,4 +51,3 @@ class Espo extends Base
return $user;
}
}

View File

@@ -34,7 +34,7 @@ use Espo\Core\Utils\Config;
use Espo\Core\ORM\EntityManager;
use Espo\Core\Utils\Auth;
class LDAP extends Base
class LDAP extends Espo
{
private $utils;
@@ -64,6 +64,16 @@ class LDAP extends Base
'defaultTeamId' => 'userDefaultTeamId',
);
/**
* User field name => option name
*
* @var array
*/
protected $portalUserFieldMap = array(
'portalsIds' => 'portalUserPortalsIds',
'portalRolesIds' => 'portalUserRolesIds',
);
public function __construct(Config $config, EntityManager $entityManager, Auth $auth)
{
parent::__construct($config, $entityManager, $auth);
@@ -100,12 +110,19 @@ class LDAP extends Base
*
* @return \Espo\Entities\User | null
*/
public function login($username, $password, \Espo\Entities\AuthToken $authToken = null)
public function login($username, $password, \Espo\Entities\AuthToken $authToken = null, $isPortal = null)
{
if ($authToken) {
return $this->loginByToken($username, $authToken);
}
if ($isPortal) {
$useLdapAuthForPortalUser = $this->getUtils()->getOption('portalUserLdapAuth');
if (!$useLdapAuthForPortalUser) {
return parent::login($username, $password, $authToken, $isPortal);
}
}
$ldapClient = $this->getLdapClient();
/* Login LDAP system user (ldapUsername, ldapPassword) */
@@ -160,7 +177,7 @@ class LDAP extends Base
$isCreateUser = $this->getUtils()->getOption('createEspoUser');
if (!isset($user) && $isCreateUser) {
$userData = $ldapClient->getEntry($userDn);
$user = $this->createUser($userData);
$user = $this->createUser($userData, $isPortal);
}
return $user;
@@ -184,7 +201,7 @@ class LDAP extends Base
$user = $this->getEntityManager()->getEntity('User', $userId);
$tokenUsername = $user->get('userName');
if ($username != $tokenUsername) {
if (strtolower($username) != strtolower($tokenUsername)) {
$GLOBALS['log']->alert('Unauthorized access attempt for user ['.$username.'] from IP ['.$_SERVER['REMOTE_ADDR'].']');
return null;
}
@@ -224,10 +241,11 @@ class LDAP extends Base
* Create Espo user with data gets from LDAP server
*
* @param array $userData LDAP entity data
* @param boolean $isPortal Is portal user
*
* @return \Espo\Entities\User
*/
protected function createUser(array $userData)
protected function createUser(array $userData, $isPortal = false)
{
$GLOBALS['log']->info('Creating new user ...');
$data = array();
@@ -246,7 +264,13 @@ class LDAP extends Base
}
//set user fields
$userFields = $this->loadFields('user');
if ($isPortal) {
$userFields = $this->loadFields('portalUser');
$userFields['isPortalUser'] = true;
} else {
$userFields = $this->loadFields('user');
}
foreach ($userFields as $fieldName => $fieldValue) {
$data[$fieldName] = $fieldValue;
}
@@ -328,4 +352,4 @@ class LDAP extends Base
return $fields;
}
}
}

View File

@@ -67,6 +67,9 @@ class Utils
'userTeamsIds' => 'ldapUserTeamsIds',
'userDefaultTeamId' => 'ldapUserDefaultTeamId',
'userObjectClass' => 'ldapUserObjectClass',
'portalUserLdapAuth' => 'ldapPortalUserLdapAuth',
'portalUserPortalsIds' => 'ldapPortalUserPortalsIds',
'portalUserRolesIds' => 'ldapPortalUserRolesIds',
);
/**
@@ -86,6 +89,9 @@ class Utils
'userLoginFilter',
'userTeamsIds',
'userDefaultTeamId',
'portalUserLdapAuth',
'portalUserPortalsIds',
'portalUserRolesIds',
);
/**
@@ -163,7 +169,7 @@ class Utils
*/
public function getOption($name, $returns = null)
{
if (isset($this->options)) {
if (!isset($this->options)) {
$this->getOptions();
}
@@ -187,4 +193,4 @@ class Utils
return $zendOptions;
}
}
}

View File

@@ -379,14 +379,14 @@ class MySqlPlatform extends \Doctrine\DBAL\Platforms\MySqlPlatform
// Charset
if ( ! isset($options['charset'])) {
$options['charset'] = 'utf8';
$options['charset'] = 'utf8mb4';
}
$tableOptions[] = sprintf('DEFAULT CHARACTER SET %s', $options['charset']);
// Collate
if ( ! isset($options['collate'])) {
$options['collate'] = 'utf8_unicode_ci';
$options['collate'] = 'utf8mb4_unicode_ci';
}
$tableOptions[] = sprintf('COLLATE %s', $options['collate']);
@@ -465,4 +465,4 @@ class MySqlPlatform extends \Doctrine\DBAL\Platforms\MySqlPlatform
return implode(', ', $queryFields);
}
//end: ESPO
}
}

View File

@@ -100,32 +100,31 @@ class Email extends Base
'orderBy' => 'emailAddresses.opt_out {direction}'
)
),
'relations' => array(
'emailAddresses' => array(
'relations' => [
'emailAddresses' => [
'type' => 'manyMany',
'entity' => 'EmailAddress',
'relationName' => 'entityEmailAddress',
'midKeys' => array(
'entity_id',
'email_address_id',
),
'conditions' => array(
'entityType' => $entityName,
),
'additionalColumns' => array(
'entityType' => array(
'midKeys' => [
'entityId',
'emailAddressId'
],
'conditions' => [
'entityType' => $entityName
],
'additionalColumns' => [
'entityType' => [
'type' => 'varchar',
'len' => 100,
),
'primary' => array(
'len' => 100
],
'primary' => [
'type' => 'bool',
'default' => false,
),
),
),
),
),
'default' => false
]
]
]
]
)
);
}
}

View File

@@ -130,33 +130,31 @@ class Phone extends Base
]
]
),
'relations' => array(
'phoneNumbers' => array(
'relations' => [
'phoneNumbers' => [
'type' => 'manyMany',
'entity' => 'PhoneNumber',
'relationName' => 'entityPhoneNumber',
'midKeys' => array(
'entity_id',
'phone_number_id',
),
'conditions' => array(
'entityType' => $entityName,
),
'additionalColumns' => array(
'entityType' => array(
'midKeys' => [
'entityId',
'phoneNumberId'
],
'conditions' => [
'entityType' => $entityName
],
'additionalColumns' => [
'entityType' => [
'type' => 'varchar',
'len' => 100,
),
'primary' => array(
'len' => 100
],
'primary' => [
'type' => 'bool',
'default' => false,
),
),
),
),
),
'default' => false
]
]
]
]
)
);
}
}

View File

@@ -36,30 +36,30 @@ class EntityTeam extends Base
$linkParams = $this->getLinkParams();
$foreignEntityName = $this->getForeignEntityName();
return array(
$entityName => array(
'relations' => array(
$linkName => array(
return [
$entityName => [
'relations' => [
$linkName => [
'type' => 'manyMany',
'entity' => $foreignEntityName,
'relationName' => lcfirst($linkParams['relationName']),
'midKeys' => array(
'entity_id',
'team_id',
),
'conditions' => array(
'entityType' => $entityName,
),
'additionalColumns' => array(
'entityType' => array(
'midKeys' => [
'entityId',
'teamId'
],
'conditions' => [
'entityType' => $entityName
],
'additionalColumns' => [
'entityType' => [
'type' => 'varchar',
'len' => 100,
),
),
),
),
),
);
'len' => 100
]
]
]
]
]
];
}
}

View File

@@ -373,6 +373,13 @@ class Converter
}
}
$databaseParams = $this->getConfig()->get('database');
if (!isset($databaseParams['charset']) || $databaseParams['charset'] == 'utf8mb4') {
$dbFieldParams['platformOptions'] = array(
'collation' => 'utf8mb4_unicode_ci',
);
}
switch ($fieldParams['type']) {
case 'id':
case 'foreignId':
@@ -515,4 +522,4 @@ class Converter
return $tables;
}
}
}

View File

@@ -106,6 +106,10 @@ class System
*/
public function getPhpBin()
{
if (isset($_SERVER['PHP_PATH']) && !empty($_SERVER['PHP_PATH'])) {
return $_SERVER['PHP_PATH'];
}
return defined("PHP_BINDIR") ? PHP_BINDIR . DIRECTORY_SEPARATOR . 'php' : 'php';
}

View File

@@ -133,6 +133,7 @@ return array ( 'defaultPermissions' =>
'ldapAccountFilterFormat',
'ldapTryUsernameSplit',
'ldapOptReferrals',
'ldapPortalUserLdapAuth',
'ldapCreateEspoUser',
'ldapAccountDomainName',
'ldapAccountDomainNameShort',
@@ -153,12 +154,17 @@ return array ( 'defaultPermissions' =>
'ldapUserDefaultTeamName',
'ldapUserTeamsIds',
'ldapUserTeamsNames',
'ldapPortalUserPortalsIds',
'ldapPortalUserPortalsNames',
'ldapPortalUserRolesIds',
'ldapPortalUserRolesNames',
'cleanupJobPeriod',
'cleanupActionHistoryPeriod',
'adminNotifications',
'adminNotificationsNewVersion',
'adminNotificationsCronIsNotConfigured',
'adminNotificationsNewExtensionVersion'
'adminNotificationsNewExtensionVersion',
'leadCaptureAllowOrigin'
),
'userItems' =>
array (
@@ -175,5 +181,5 @@ return array ( 'defaultPermissions' =>
'ldapUserEmailAddressAttribute' => 'mail',
'ldapUserPhoneNumberAttribute' => 'telephoneNumber',
'ldapUserObjectClass' => 'person',
'ldapPortalUserLdapAuth' => false,
);

View File

@@ -31,6 +31,18 @@ namespace Espo\Entities;
class Note extends \Espo\Core\ORM\Entity
{
private $aclIsProcessed = false;
public function setAclIsProcessed()
{
$this->aclIsProcessed = true;
}
public function isAclProcessed()
{
return $this->aclIsProcessed;
}
public function loadAttachments()
{
$data = $this->get('data');

View File

@@ -59,6 +59,8 @@ class StreamNotesAcl extends \Espo\Core\Hooks\Base
if (!empty($options['noStream'])) return;
if (!empty($options['silent'])) return;
if (!empty($options['skipStreamNotesAcl'])) return;
if ($entity->isNew()) return;
$entityType = $entity->getEntityType();

View File

@@ -133,10 +133,19 @@ class Notifications extends \Espo\Core\Hooks\Base
$targetType = $parentType;
}
$teamIdList = $entity->getLinkMultipleIdList('teams');
$userIdList = $entity->getLinkMultipleIdList('users');
$skipAclCheck = false;
if (!$entity->isAclProcessed()) {
$skipAclCheck = true;
} else {
$teamIdList = $entity->getLinkMultipleIdList('teams');
$userIdList = $entity->getLinkMultipleIdList('users');
}
foreach ($userList as $user) {
if ($skipAclCheck) {
$notifyUserIdList[] = $user->id;
continue;
}
if ($user->isAdmin()) {
$notifyUserIdList[] = $user->id;
continue;

View File

@@ -381,7 +381,8 @@ class Cleanup extends \Espo\Core\Jobs\Base
protected function cleanupDeletedRecords()
{
if (!$this->getConfig()->get('cleanupDeletedRecords')) return;
$datetime = new \DateTime('-' . $this->cleanupDeletedRecordsPeriod);
$period = '-' . $this->getConfig()->get('cleanupNotificationsPeriod', $this->cleanupNotificationsPeriod);
$datetime = new \DateTime('-' . $period);
$scopeList = array_keys($this->getMetadata()->get(['scopes']));
foreach ($scopeList as $scope) {

View File

@@ -34,6 +34,8 @@ use \Espo\ORM\Entity;
class Meeting extends \Espo\Core\Acl\Base
{
protected $ownerUserIdAttribute = 'usersIds';
public function checkEntityRead(User $user, Entity $entity, $data)
{
if ($this->checkEntity($user, $entity, $data, 'read')) {

View File

@@ -176,7 +176,7 @@ class Ics
"BEGIN:VEVENT\n".
"DTSTART:".$this->dateToCal($this->startDate)."\n".
"DTEND:".$this->dateToCal($this->endDate)."\n".
"SUMMARY:New ".$this->escapeString($this->summary)."\n".
"SUMMARY:".$this->escapeString($this->summary)."\n".
"LOCATION:".$this->escapeString($this->address)."\n".
"ORGANIZER;CN=".$this->escapeString($this->who).":MAILTO:" . $this->escapeString($this->email)."\n".
"DESCRIPTION:".$this->escapeString($this->formatMultiline($this->description))."\n".

View File

@@ -14,6 +14,7 @@
"campaign": "Kampanija",
"targetLists": "Adresatų sarašai",
"targetList": "Adresatų sarašas",
"originalLead": "Originalus švinas",
"contactIsInactive": "Neaktyvus"
},
"links": {
@@ -28,7 +29,8 @@
"targetLists": "Adresatų sarašai ",
"campaignLogRecords": "Kampanijos žurnalas",
"campaign": "Kampanija",
"portalUsers": "Portalo vartotojai"
"portalUsers": "Portalo vartotojai",
"originalLead": "Originalus švinas"
},
"options": {
"type": {

View File

@@ -1,6 +1,7 @@
{
"layouts": {
"detailConvert": "Konvertuoti potencialų klienta",
"listForAccount": "Sąrašas (paskyrai)"
"listForAccount": "Sąrašas (paskyrai)",
"listForContact": "Sąrašas (kontaktams)"
}
}

View File

@@ -16,6 +16,7 @@
"time": "laikas",
"User List": "Vartotojų sąrašas",
"Manage Users": "Tvarkyti vartotojus",
"View Calendar": "Peržiūrėti kalendorių"
"View Calendar": "Peržiūrėti kalendorių",
"Create Shared View": "Sukurkite bendrąjį rodinį"
}
}

View File

@@ -13,11 +13,19 @@
"clickedCount": "Paspausta",
"optedOutCount": "Pasirinkta",
"bouncedCount": "Atmesta",
"hardBouncedCount": "Griežtai atmestas",
"softBouncedCount": "Laikinai atmestas",
"leadCreatedCount": "Potencialūs klientai sukurti",
"revenue": "Pajamos",
"revenueConverted": "Pajamos (konvertuotos)",
"budget": "Biudžetas",
"budgetConverted": "Biudžetas (kovertuotas)"
"budgetConverted": "Biudžetas (kovertuotas)",
"contactsTemplate": "Kontaktai šablonas",
"leadsTemplate": "Pasiunčia šabloną",
"accountsTemplate": "Sąskaitų šablonas",
"usersTemplate": "Vartotojų šablonas",
"mailMergeOnlyWithAddress": "Praleisti įrašus be užpildyto adreso",
"optedInCount": "Pasirinkta"
},
"links": {
"targetLists": "Adresatų sąrašai",
@@ -27,7 +35,11 @@
"leads": "Potencialūs klientai",
"opportunities": "Galimybės",
"massEmails": "Masiniai el. laiškai",
"trackingUrls": "Stebėjimo URL"
"trackingUrls": "Stebėjimo URL",
"contactsTemplate": "Kontaktai šablonas",
"leadsTemplate": "Pasiunčia šabloną",
"accountsTemplate": "Sąskaitų šablonas",
"usersTemplate": "Vartotojų šablonas"
},
"options": {
"type": {
@@ -56,7 +68,9 @@
"Email Templates": "El. laiškų šabonai",
"Unsubscribe again": "Atsisakyti prenumeratos dar kartą",
"Subscribe again": "Užsisakyti prenumeratą dar kartą",
"Create Target List": "Sukurti adresatų sąrašą"
"Create Target List": "Sukurti adresatų sąrašą",
"Mail Merge": "Pašto suliejimo",
"Generate Mail Merge PDF": "Sukurkite \"Mail Merge PDF\""
},
"presetFilters": {
"active": "Aktyvus"

View File

@@ -5,8 +5,11 @@
"data": "Duomenys",
"campaign": "Kampanija",
"parent": "Adresatas",
"object": "Objektas",
"application": "Programėlė",
"queueItem": "Eilės elementas",
"stringData": "Eilutės duomenys",
"stringAdditionalData": "Papildomų duomenų eilutė",
"isTest": "Testuojama"
},
"links": {
@@ -20,8 +23,10 @@
"Sent": "Išsiųsta",
"Opened": "Atverta",
"Opted Out": "Pasirinkta",
"Bounced": "Atmesta",
"Clicked": "Paspausta",
"Lead Created": "Sukurtas potencialus klientas"
"Lead Created": "Sukurtas potencialus klientas",
"Opted In": "Pasirinkta"
}
},
"labels": {
@@ -31,7 +36,9 @@
"sent": "Išsiųsta",
"opened": "Atverta",
"optedOut": "Pasirinkta",
"bounced": "Atmesta",
"clicked": "Paspausta",
"leadCreated": "Sukurtas potencialus klientas"
"leadCreated": "Sukurtas potencialus klientas",
"optedIn": "Pasirinkta"
}
}

View File

@@ -10,7 +10,8 @@
"type": "Tipas",
"description": "Aprašymas",
"lead": "Potencialus klientas",
"attachments": "Prisegtukai"
"attachments": "Prisegtukai",
"inboundEmail": "Grupės el. Pašto sąskaita"
},
"links": {
"account": "Įmonė",
@@ -22,7 +23,8 @@
"emails": "El. laiška",
"articles": "Žinių bazės straipsniai",
"lead": "Potencialus klientas",
"attachments": "Prisegtukai"
"attachments": "Prisegtukai",
"inboundEmail": "Grupės el. Pašto sąskaita"
},
"options": {
"status": {

View File

@@ -18,7 +18,9 @@
"portalUser": "Portalo vartotojas",
"originalLead": "Originalus potencialus klientas",
"acceptanceStatus": "Priėmimo statusas",
"accountIsInactive": "Įmonė neaktyvi"
"accountIsInactive": "Įmonė neaktyvi",
"acceptanceStatusMeetings": "Priėmimo statusas (susirinkimai)",
"acceptanceStatusCalls": "Priėmimo statusas (skambučiai)"
},
"links": {
"opportunities": "Galimybės",
@@ -28,9 +30,11 @@
"campaign": "Kampanija",
"account": "Kontaktas (pirminis)",
"accounts": "Įmonės",
"casesPrimary": "Bylos (pirminis)",
"portalUser": "Portalo vartotojas",
"originalLead": "Originalus potencialus klientas",
"documents": "Dokumentai"
"documents": "Dokumentai",
"tasksPrimary": "Užduotys (išplėstos)"
},
"labels": {
"Create Contact": "Sukurti kontaktą"

View File

@@ -1 +1,6 @@
{}
{
"fields": {
"futureDays": "Kitas X dienas",
"useLastStage": "Grupė pagal paskutinį pasiektą etapą"
}
}

View File

@@ -4,6 +4,7 @@
"Create Contact": "Sukurti kontaktą",
"Create Task": "Sukurti užduotį",
"Create Case": "Sukurti atvejį",
"Add to Contact": "Pridėti prie kontaktų"
"Add to Contact": "Pridėti prie kontaktų",
"Add to Lead": "Pridėti prie švino"
}
}

View File

@@ -6,10 +6,12 @@
"sentAt": "Išsiuntimo data",
"attemptCount": "Bandymai",
"emailAddress": "El. pašto adresas",
"massEmail": "Masinis el. Paštas",
"isTest": "Testuojama"
},
"links": {
"target": "Adresatas"
"target": "Adresatas",
"massEmail": "Masinis el. Paštas"
},
"options": {
"status": {

View File

@@ -30,6 +30,8 @@
"DocumentFolder": "Dokumento aplankas",
"Campaign": "Kampanija",
"TargetList": "Adresatų sarašas",
"MassEmail": "Masinis el. Paštas",
"EmailQueueItem": "Siųsti eilės elementą",
"CampaignTrackingUrl": "Stebėjiimo URL",
"Activities": "Veikla",
"KnowledgeBaseArticle": "Žinių bazės straipsnis",
@@ -51,6 +53,8 @@
"DocumentFolder": "Dokumentų aplankai",
"Campaign": "Kampanijos",
"TargetList": "Adresatų sarašai",
"MassEmail": "Masiniai laiškai",
"EmailQueueItem": "El. Pašto eilės elementai",
"CampaignTrackingUrl": "Stebejimo URL",
"Activities": "Veikla",
"KnowledgeBaseArticle": "Žinių bazė",

View File

@@ -40,5 +40,8 @@
},
"presetFilters": {
"published": "Paskelbta"
},
"tooltips": {
"portals": "Straipsnis bus prieinamas tik nurodytuose portaluose."
}
}

View File

@@ -26,7 +26,10 @@
"targetLists": "Adresatų sarašai",
"targetList": "Adresatų sarašas",
"industry": "Pramonės šaka",
"acceptanceStatus": "Priėmimo statusas"
"acceptanceStatus": "Priėmimo statusas",
"opportunityAmountCurrency": "Galimybių suma Valiuta",
"acceptanceStatusMeetings": "Priėmimo statusas (susirinkimai)",
"acceptanceStatusCalls": "Priėmimo statusas (skambučiai)"
},
"links": {
"targetLists": "Adresatų sarašai",

View File

@@ -19,6 +19,7 @@
"links": {
"targetLists": "Adresatų sarašai",
"excludingTargetLists": "Neįtraukiami sdresatų sarašai",
"queueItems": "Eilės elementai",
"campaign": "Kampanija",
"emailTemplate": "El. pašto laiško šablonas",
"inboundEmail": "El. pašto paskyra"
@@ -34,6 +35,7 @@
}
},
"labels": {
"Create MassEmail": "Sukurti masinį laišką",
"Send Test": "Siųsti bandomajį laišką",
"System SMTP": "Sistema SMTP",
"system": "sistema",

View File

@@ -13,12 +13,16 @@
"amountConverted": "Suma (konvertuota)",
"amountWeightedConverted": "Pasverta suma",
"campaign": "Kampanija",
"amountCurrency": "Valiutos suma"
"originalLead": "Originalus švinas",
"amountCurrency": "Valiutos suma",
"contactRole": "Kontakto vaidmuo",
"lastStage": "Paskutinis etapas"
},
"links": {
"contacts": "Kontaktai",
"documents": "Dokumentai",
"campaign": "Kampanija"
"campaign": "Kampanija",
"originalLead": "Originalus švinas"
},
"options": {
"stage": {

View File

@@ -2,11 +2,15 @@
"fields": {
"name": "Vardas",
"description": "Aprašymas",
"entryCount": "Įrašų skaičius",
"campaigns": "Kampanijos",
"endDate": "Pabaigos data",
"targetLists": "Adresatų sarašai",
"includingActionList": "Įskaitant",
"excludingActionList": "Išskyrus"
"excludingActionList": "Išskyrus",
"optedOutCount": "Pasirinkta suma",
"targetStatus": "Tikslo būsena",
"isOptedOut": "Yra atmesta"
},
"links": {
"accounts": "Įmonės",
@@ -22,6 +26,10 @@
"Television": "Televizija",
"Radio": "Radijas",
"Newsletter": "Naujienlaiškis"
},
"targetStatus": {
"Opted Out": "Pasirinkta",
"Listed": "Sąraše"
}
},
"labels": {

View File

@@ -13,10 +13,13 @@
"account": "Įmonė",
"dateCompleted": "Įvykdymo data",
"attachments": "Prisegtukai",
"reminders": "Priminimai"
"reminders": "Priminimai",
"contact": "kontaktas"
},
"links": {
"attachments": "Prisegtukai"
"attachments": "Prisegtukai",
"account": "Paskyra",
"contact": "Kontaktai"
},
"options": {
"status": {

View File

@@ -3,6 +3,8 @@
"targetLists": "Adresatų sarašai"
},
"fields": {
"acceptanceStatus": "Priėmimo statusas"
"acceptanceStatus": "Priėmimo statusas",
"acceptanceStatusMeetings": "Priėmimo statusas (susirinkimai)",
"acceptanceStatusCalls": "Priėmimo statusas (skambučiai)"
}
}

View File

@@ -11,16 +11,16 @@
"industry": "行业",
"type": "类型",
"contactRole": "标题",
"contactIsInactive": "未激活",
"campaign": "营销活动",
"targetLists": "目标列表",
"targetList": "目标列表",
"originalLead": "原始潜在顾客",
"contactIsInactive": "未激活"
"originalLead": "原始潜在客户"
},
"links": {
"contacts": "联系人",
"opportunities": "商机",
"cases": "案例",
"cases": "工单",
"documents": "文件",
"meetingsPrimary": "会晤(已举行)",
"callsPrimary": "通话(已展开)",
@@ -30,7 +30,7 @@
"campaignLogRecords": "营销活动日志",
"campaign": "营销活动",
"portalUsers": "门户网站用户",
"originalLead": "原始潜在客"
"originalLead": "原始潜在客"
},
"options": {
"type": {
@@ -40,57 +40,56 @@
"Reseller": "经销商"
},
"industry": {
"Aerospace": "航天",
"Agriculture": "农业",
"Advertising": "广告",
"Apparel & Accessories": "服饰与配饰",
"Architecture": "建筑",
"Automotive": "汽车",
"Banking": "银行业",
"Biotechnology": "生物技术",
"Building Materials & Equipment": "建筑材料与设备",
"Chemical": "化学",
"Construction": "施工",
"Computer": "电脑",
"Defense": "国防",
"Creative": "创意",
"Culture": "文化",
"Consulting": "咨询",
"Education": "教育",
"Electronics": "电子产品",
"Electric Power": "电力",
"Energy": "能源",
"Entertainment & Leisure": "娱乐休闲",
"Finance": "金融",
"Food & Beverage": "食品与饮料",
"Grocery": "杂货",
"Hospitality": "医药",
"Healthcare": "卫生保健",
"Insurance": "保险",
"Legal": "法律",
"Manufacturing": "制造业",
"Mass Media": "大众传媒",
"Mining": "矿产",
"Music": "音乐",
"Marketing": "百货",
"Publishing": "出版",
"Petroleum": "石油",
"Real Estate": "房地产",
"Retail": "零售",
"Shipping": "邮寄",
"Service": "服务",
"Support": "支持",
"Sports": "体育",
"Software": "软件",
"Technology": "技术",
"Telecommunications": "电信",
"Television": "电视",
"Testing, Inspection & Certification": "检测",
"Transportation": "运输",
"Venture Capital": "风险投资",
"Aerospace": "航天",
"Architecture": "建筑",
"Construction": "施工",
"Defense": "国防",
"Creative": "创意",
"Culture": "文化",
"Consulting": "咨询",
"Electric Power": "电力",
"Hospitality": "医药",
"Mass Media": "大众传媒",
"Mining": "矿产",
"Music": "音乐",
"Marketing": "百货",
"Petroleum": "石油",
"Retail": "零售",
"Shipping": "邮寄",
"Support": "支持",
"Testing, Inspection & Certification": "检测",
"Wholesale": "批发",
"Water": "水利",
"Travel": "Travel"
"Water": "水利"
}
},
"labels": {

View File

@@ -1,6 +1,6 @@
{
"layouts": {
"detailConvert": "转换潜在客",
"detailConvert": "转换潜在客",
"listForAccount": "列表(帐户)"
}
}

View File

@@ -3,14 +3,14 @@
"name": "名称",
"parent": "关联",
"status": "状态",
"dateStart": "始日期",
"dateStart": "始日期",
"dateEnd": "日期结束",
"direction": "方向",
"duration": "持续时间",
"description": "描述",
"users": "用户",
"contacts": "联系人",
"leads": "潜在客",
"leads": "潜在客",
"reminders": "提醒",
"account": "客户",
"acceptanceStatus": "接受状态"

View File

@@ -15,7 +15,7 @@
"bouncedCount": "退回",
"hardBouncedCount": "硬弹跳",
"softBouncedCount": "软弹跳",
"leadCreatedCount": "已创建的潜在客",
"leadCreatedCount": "已创建的潜在客",
"revenue": "收入",
"revenueConverted": "收入(转换)",
"budget": "预算",
@@ -26,7 +26,7 @@
"excludingTargetLists": "剔除目标列表",
"accounts": "客户",
"contacts": "联系人",
"leads": "潜在客",
"leads": "潜在客",
"opportunities": "商机",
"campaignLogRecords": "日志",
"massEmails": "群发电子邮件",
@@ -43,7 +43,7 @@
},
"status": {
"Planning": "规划",
"Active": "活",
"Active": "活",
"Inactive": "非活动",
"Complete": "完成"
}
@@ -62,7 +62,7 @@
"Create Target List": "创建目标列表"
},
"presetFilters": {
"active": "活"
"active": "活"
},
"messages": {
"unsubscribed": "您已取消订阅我们的邮寄名单。",
@@ -70,6 +70,6 @@
},
"tooltips": {
"targetLists": "目标应该接收的消息。",
"excludingTargetLists": "目标不应该接收消息。"
"excludingTargetLists": "目标不会接收营销活动消息。"
}
}

View File

@@ -1,6 +1,6 @@
{
"fields": {
"action": "动",
"action": "动",
"actionDate": "日期",
"data": "数据",
"campaign": "营销活动",
@@ -8,28 +8,28 @@
"object": "目的",
"application": "应用",
"queueItem": "队列项",
"stringData": "String Data",
"stringData": "字符串数据",
"stringAdditionalData": "字符串附加数据",
"isTest": "Is Test"
"isTest": "测试"
},
"links": {
"queueItem": "队列项",
"parent": "关联",
"object": "目的",
"campaign": "Campaign"
"object": "目的"
},
"options": {
"action": {
"Sent": "发送",
"Opened": "开业",
"Opted Out": "选择退出",
"Opted Out": "取消订阅",
"Bounced": "退回",
"Clicked": "点击",
"Lead Created": "已创建的潜在顾客"
"Lead Created": "已创建的潜在客户",
"Opted In": "订阅"
}
},
"labels": {
"All": "所有"
"All": "全部"
},
"presetFilters": {
"sent": "发送",
@@ -37,6 +37,6 @@
"optedOut": "选择退出",
"bounced": "反弹",
"clicked": "点击",
"leadCreated": "已创建的潜在客"
"leadCreated": "已创建的潜在客"
}
}

View File

@@ -1,7 +1,7 @@
{
"fields": {
"name": "名称",
"number": "号",
"number": "号",
"status": "状态",
"account": "客户",
"contact": "联系人",
@@ -10,7 +10,8 @@
"type": "类型",
"description": "描述",
"inboundEmail": "入站邮件",
"lead": "潜在顾客"
"lead": "潜在客户",
"attachments": "附件"
},
"links": {
"inboundEmail": "入站电子邮件",
@@ -22,11 +23,12 @@
"tasks": "任务",
"emails": "电子邮件",
"articles": "知识库文章",
"lead": "潜在顾客"
"lead": "潜在客户",
"attachments": "附件"
},
"options": {
"status": {
"New": "新",
"New": "新",
"Assigned": "已指派",
"Pending": "待定",
"Closed": "关闭",
@@ -46,7 +48,7 @@
}
},
"labels": {
"Create Case": "创建案例",
"Create Case": "创建工单",
"Close": "关",
"Reject": "拒绝",
"Closed": "关闭",

View File

@@ -16,23 +16,23 @@
"targetLists": "目标列表",
"targetList": "目标列表",
"portalUser": "门户网站用户",
"originalLead": "原始潜在客",
"originalLead": "原始潜在客",
"acceptanceStatus": "验收状态",
"accountIsInactive": "账户未激活",
"acceptanceStatusMeetings": "Acceptance Status (Meetings)",
"acceptanceStatusCalls": "Acceptance Status (Calls)"
"acceptanceStatusMeetings": "接受状态(Meetings)",
"acceptanceStatusCalls": "接受状态(Calls)"
},
"links": {
"opportunities": "商机",
"cases": "案例",
"cases": "工单",
"targetLists": "目标列表",
"campaignLogRecords": "营销活动日志",
"campaign": "营销活动",
"account": "帐户(主要)",
"accounts": "客户",
"casesPrimary": "案例(主要)",
"casesPrimary": "工单(主要)",
"portalUser": "门户用户",
"originalLead": "原始潜在客",
"originalLead": "原始潜在客",
"documents": "文件"
},
"labels": {

View File

@@ -9,21 +9,21 @@
"file": "文件",
"type": "类型",
"publishDate": "发布日期",
"expirationDate": "截止日期",
"expirationDate": "结束日期",
"description": "描述",
"accounts": "账户",
"folder": "夹"
"folder": "文件夹"
},
"links": {
"accounts": "账户",
"opportunities": "商机",
"folder": "夹",
"leads": "潜在客",
"folder": "文件夹",
"leads": "潜在客",
"contacts": "联系人"
},
"options": {
"status": {
"Active": "活",
"Active": "活",
"Draft": "草案",
"Expired": "已过期",
"Canceled": "取消"
@@ -31,13 +31,11 @@
"type": {
"": "没有",
"Contract": "合同",
"NDA": "NDA",
"EULA": "EULA",
"License Agreement": "许可协议"
}
},
"presetFilters": {
"active": "活",
"active": "活",
"draft": "草案"
}
}

View File

@@ -1,10 +1,10 @@
{
"labels": {
"Create Lead": "创建潜在客",
"Create Lead": "创建潜在客",
"Create Contact": "创建联系人",
"Create Task": "创建任务",
"Create Case": "创建案例",
"Add to Contact": "添加到联系人",
"Add to Lead": "添加至潜在顾客"
"Add to Lead": "添加至潜在客户",
"Create Task": "创建任务",
"Create Case": "创建工单"
}
}

View File

@@ -3,13 +3,13 @@
"parent": "父母",
"contacts": "联系人",
"opportunities": "商机",
"leads": "潜在客",
"leads": "潜在客",
"meetings": "会晤",
"calls": "通话",
"tasks": "任务",
"emails": "电子邮件",
"accounts": "客户",
"cases": "案例",
"cases": "工单",
"documents": "文件",
"account": "客户",
"opportunity": "商机",
@@ -18,14 +18,14 @@
"scopeNames": {
"Account": "客户",
"Contact": "联系人",
"Lead": "潜在客",
"Lead": "潜在客",
"Target": "目标",
"Opportunity": "商机",
"Meeting": "会晤",
"Calendar": "日历",
"Call": "通话",
"Task": "任务",
"Case": "案件",
"Case": "工单",
"Document": "文件",
"DocumentFolder": "文档文件夹",
"Campaign": "营销活动",
@@ -41,14 +41,14 @@
"scopeNamesPlural": {
"Account": "客户",
"Contact": "联系人",
"Lead": "潜在客",
"Lead": "潜在客",
"Target": "目标",
"Opportunity": "商机",
"Meeting": "会晤",
"Calendar": "日历",
"Call": "通话",
"Task": "任务",
"Case": "案例",
"Case": "工单",
"Document": "文件",
"DocumentFolder": "文档文件夹",
"Campaign": "营销活动",
@@ -62,15 +62,15 @@
"CampaignLogRecord": "营销活动日志记录"
},
"dashlets": {
"Leads": "我的潜在客",
"Leads": "我的潜在客",
"Opportunities": "我的商机",
"Tasks": "我的任务",
"Cases": "我的案例",
"Cases": "我的工单",
"Calendar": "日历",
"Calls": "我的通话",
"Meetings": "我的会晤",
"OpportunitiesByStage": "商机阶段",
"OpportunitiesByLeadSource": "源自潜在客的商机",
"OpportunitiesByLeadSource": "源自潜在客的商机",
"SalesByMonth": "按月销售",
"SalesPipeline": "销售渠道",
"Activities": "我的活动"
@@ -90,8 +90,8 @@
"Tasks": "任务"
},
"fields": {
"billingAddressCity": "市",
"addressCity": "市",
"billingAddressCity": "市",
"addressCity": "市",
"billingAddressCountry": "国家",
"addressCountry": "国家",
"billingAddressPostalCode": "邮政编码",
@@ -111,7 +111,7 @@
},
"options": {
"reminderTypes": {
"Popup": "弹出",
"Popup": "通知",
"Email": "电子邮件"
}
}

View File

@@ -14,7 +14,7 @@
"type": "类型",
"attachments": "附件",
"publishDate": "发布日期",
"expirationDate": "截止日期",
"expirationDate": "结束日期",
"description": "描述",
"body": "身体",
"categories": "分类",
@@ -22,7 +22,7 @@
"portals": "门户"
},
"links": {
"cases": "案例",
"cases": "工单",
"opportunities": "商机",
"categories": "分类",
"portals": "门户"
@@ -38,10 +38,10 @@
"Article": "文章"
}
},
"presetFilters": {
"published": "发布"
},
"tooltips": {
"portals": "文章仅在特定门户网站上可用。"
},
"presetFilters": {
"published": "发布"
}
}

View File

@@ -1,7 +1,7 @@
{
"labels": {
"Converted To": "已转换为",
"Create Lead": "创建潜在客",
"Create Lead": "创建潜在客",
"Convert": "转换",
"convert": "转换"
},
@@ -15,9 +15,9 @@
"doNotCall": "不要电联",
"address": "地址",
"status": "状态",
"source": "源",
"opportunityAmount": "商机金额",
"opportunityAmountConverted": "商机金额(转换)",
"source": "客户来源",
"opportunityAmount": "项目预算",
"opportunityAmountConverted": "项目预算(转换)",
"description": "描述",
"createdAccount": "客户",
"createdContact": "联系人",
@@ -28,8 +28,8 @@
"industry": "行业",
"acceptanceStatus": "验收状态",
"opportunityAmountCurrency": "机会金额货币",
"acceptanceStatusMeetings": "Acceptance Status (Meetings)",
"acceptanceStatusCalls": "Acceptance Status (Calls)"
"acceptanceStatusMeetings": "接受状态(Meetings)",
"acceptanceStatusCalls": "接受状态(Calls)"
},
"links": {
"targetLists": "目标列表",
@@ -38,12 +38,12 @@
"createdAccount": "客户",
"createdContact": "联系人",
"createdOpportunity": "商机",
"cases": "案例",
"cases": "工单",
"documents": "文件"
},
"options": {
"status": {
"New": "新",
"New": "新",
"Assigned": "指派",
"In Process": "处理中",
"Converted": "已转换",
@@ -63,8 +63,8 @@
}
},
"presetFilters": {
"active": "活",
"actual": "实际",
"active": "活",
"actual": "所有",
"converted": "已转换"
}
}

View File

@@ -3,25 +3,26 @@
"name": "名称",
"status": "状态",
"storeSentEmails": "存储发送的电子邮件",
"startAt": "始日期",
"fromAddress": "地址",
"fromName": "从名称",
"startAt": "始日期",
"fromAddress": "发件人地址",
"fromName": "发件人",
"replyToAddress": "回复地址",
"replyToName": "回复名称",
"campaign": "营销活动",
"emailTemplate": "电子邮件模板",
"inboundEmail": "电子邮件帐户",
"emailTemplate": "邮件模板",
"inboundEmail": "邮件帐户",
"targetLists": "目标列表",
"excludingTargetLists": "剔除目标列表",
"optOutEntirely": "完全选择退出"
"optOutEntirely": "完全选择退出",
"smtpAccount": "SMTP帐户"
},
"links": {
"targetLists": "目标列表",
"excludingTargetLists": "排除目标列表",
"queueItems": "队列项",
"campaign": "营销活动",
"emailTemplate": "电子邮件模板",
"inboundEmail": "电子邮件帐户"
"emailTemplate": "邮件模板",
"inboundEmail": "邮件帐户"
},
"options": {
"status": {
@@ -35,7 +36,10 @@
},
"labels": {
"Create MassEmail": "创建群发电子邮件",
"Send Test": "发送测试"
"Send Test": "发送测试",
"System SMTP": "系统SMTP",
"system": "系统",
"group": "组"
},
"messages": {
"selectAtLeastOneTarget": "至少选择一个目标。",
@@ -44,10 +48,11 @@
"tooltips": {
"optOutEntirely": "已取消订阅的收件人的电子邮件地址将被标记为已停用,他们将不会再收到任何群发电子邮件。",
"targetLists": "应该接收消息的目标。",
"excludingTargetLists": "不应该接收消息的目标。"
"excludingTargetLists": "不应该接收消息的目标。",
"storeSentEmails": "邮件将存储在CRM中."
},
"presetFilters": {
"actual": "实际",
"actual": "所有",
"complete": "完成"
}
}

View File

@@ -3,13 +3,13 @@
"name": "名称",
"parent": "关联",
"status": "状态",
"dateStart": "日期开始",
"dateEnd": "日期结束",
"dateStart": "开始日期",
"dateEnd": "结束日期",
"duration": "持续时间",
"description": "描述",
"users": "用户",
"contacts": "往来",
"leads": "潜在客",
"contacts": "联系人",
"leads": "潜在客",
"reminders": "提醒",
"account": "客户",
"acceptanceStatus": "接受状态"

View File

@@ -3,9 +3,9 @@
"name": "名称",
"account": "客户",
"stage": "阶段",
"amount": "",
"probability": "概率 %",
"leadSource": "潜在顾客源",
"amount": "项目预算",
"probability": "概率%",
"leadSource": "客户来源",
"doNotCall": "不要电联",
"closeDate": "关闭日期",
"contacts": "联系人",
@@ -13,7 +13,7 @@
"amountConverted": "金额(转换)",
"amountWeightedConverted": "金额加权",
"campaign": "营销活动",
"originalLead": "原始潜在客",
"originalLead": "原始潜在客",
"amountCurrency": "金额货币",
"contactRole": "联系人角色"
},
@@ -21,7 +21,7 @@
"contacts": "联系人",
"documents": "文件",
"campaign": "营销活动运动",
"originalLead": "原始潜在客"
"originalLead": "原始潜在客"
},
"options": {
"stage": {

View File

@@ -3,6 +3,7 @@
"name": "名称",
"description": "描述",
"entryCount": "条目计数",
"optedOutCount": "取消订阅",
"campaigns": "营销活动",
"endDate": "结束日期",
"targetLists": "目标列表",
@@ -12,14 +13,13 @@
"links": {
"accounts": "客户",
"contacts": "联系人",
"leads": "潜在客",
"leads": "潜在客",
"campaigns": "营销活动",
"massEmails": "群发电子邮件"
},
"options": {
"type": {
"Email": "电子邮件",
"Web": "Web",
"Television": "电视",
"Radio": "广播",
"Newsletter": "新闻稿"

View File

@@ -4,7 +4,7 @@
"parent": "关联",
"status": "状态",
"dateStart": "开始日期",
"dateEnd": "截止日期",
"dateEnd": "结束日期",
"dateStartDate": "日期开始(全天)",
"dateEndDate": "日期结束(全天)",
"priority": "优先级",
@@ -13,10 +13,13 @@
"account": "客户",
"dateCompleted": "完成日期",
"attachments": "附件",
"reminders": "提醒"
"reminders": "提醒",
"contact": "联系人"
},
"links": {
"attachments": "附件"
"attachments": "附件",
"account": "用户",
"contact": "联系人"
},
"options": {
"status": {
@@ -38,10 +41,10 @@
"Complete": "完成"
},
"presetFilters": {
"actual": "实际",
"actual": "所有",
"completed": "完成",
"todays": "今天的",
"overdue": "过期",
"deferred": "期"
"deferred": "延期",
"todays": "今天",
"overdue": "期"
}
}

View File

@@ -1,10 +1,10 @@
{
"links": {
"targetLists": "目标列表"
},
"fields": {
"acceptanceStatus": "验收状态",
"acceptanceStatusMeetings": "Acceptance Status (Meetings)",
"acceptanceStatusCalls": "Acceptance Status (Calls)"
"acceptanceStatusMeetings": "接受状态(Meetings)",
"acceptanceStatusCalls": "接受状态(Calls)"
},
"links": {
"targetLists": "目标列表"
}
}

View File

@@ -91,7 +91,8 @@
"contactRole": {
"type": "varchar",
"notStorable": true,
"disabled": true
"disabled": true,
"maxLength": 100
},
"contactIsInactive": {
"type": "bool",

View File

@@ -35,7 +35,7 @@
},
"title": {
"type": "varchar",
"maxLength": 50,
"maxLength": 100,
"notStorable": true,
"select": "accountContact.role",
"orderBy": "accountContact.role {direction}",
@@ -329,7 +329,7 @@
"additionalColumns": {
"role": {
"type": "varchar",
"len": 50
"len": 100
},
"isInactive": {
"type": "bool",

View File

@@ -0,0 +1,10 @@
<p>{{assignerUserName}}已分配{{entityTypeLowerFirst}}给你。</p>
<p><strong>{{name}}</strong></p>
<p>Start: {{dateStart}}</p>
{{#if parentName}}
<p>Parent: {{parentName}}</p>
{{/if}}
{{#if description}}
<p>{{{description}}}</p>
{{/if}}
<p><a href="{{recordUrl}}">View record</a></p>

View File

@@ -0,0 +1,13 @@
<p>Subject: {{name}}</p>
<p>Start: {{dateStart}}</p>
{{#if isUser}}
{{#if description}}
<p>{{{description}}}</p>
{{/if}}
{{/if}}
<p>
<a href="{{acceptLink}}">Accept</a>, <a href="{{declineLink}}">Decline</a>, <a href="{{tentativeLink}}">Tentative</a>
</p>
{{#if isUser}}
<p><a href="{{recordUrl}}">View record</a></p>
{{/if}}

View File

@@ -0,0 +1 @@
邀请{{{entityTypeLowerFirst}}}'{{{name}}}'

View File

@@ -0,0 +1,4 @@
<p>Subject: {{name}}</p>
<p>Date End: {{dateEnd}}</p>
<p><a href="{{recordUrl}}">View record</a></p>

View File

@@ -0,0 +1,4 @@
<p>Subject: {{name}}</p>
<p>Start: {{dateStart}}</p>
<p><a href="{{recordUrl}}">View record</a></p>

View File

@@ -0,0 +1 @@
提醒一下{{{entityTypeLowerFirst}}}'{{{name}}}'

View File

@@ -33,13 +33,14 @@ class Call extends \Espo\Core\SelectManagers\Base
{
protected function accessOnlyOwn(&$result)
{
$this->addJoin('users', $result);
$result['whereClause'][] = array(
'OR' => array(
'usersMiddle.userId' => $this->getUser()->id,
$this->setDistinct(true, $result);
$this->addJoin(['users', 'usersAccess'], $result);
$result['whereClause'][] = [
'OR' => [
'usersAccessMiddle.userId' => $this->getUser()->id,
'assignedUserId' => $this->getUser()->id
)
);
]
];
}
protected function accessOnlyTeam(&$result)
@@ -48,25 +49,25 @@ class Call extends \Espo\Core\SelectManagers\Base
$this->addLeftJoin(['teams', 'teamsAccess'], $result);
$this->addLeftJoin(['users', 'usersAccess'], $result);
$result['whereClause'][] = array(
'OR' => array(
'teamsAccess.id' => $this->getUser()->getLinkMultipleIdList('teams'),
'usersAccess.id' => $this->getUser()->id,
$result['whereClause'][] = [
'OR' => [
'teamsAccessMiddle.teamId' => $this->getUser()->getLinkMultipleIdList('teams'),
'usersAccessMiddle.userId' => $this->getUser()->id,
'assignedUserId' => $this->getUser()->id
)
);
]
];
}
protected function boolFilterOnlyMy(&$result)
{
$this->addJoin('users', $result);
$result['whereClause'][] = array(
'users.id' => $this->getUser()->id,
'OR' => array(
'usersMiddle.status!=' => 'Declined',
'usersMiddle.status=' => null
)
);
$this->addJoin(['users', 'usersFilterOnlyMy'], $result);
$result['whereClause'][] = [
'usersFilterOnlyMyMiddle.userId' => $this->getUser()->id,
'OR' => [
'usersFilterOnlyMyMiddle.status!=' => 'Declined',
'usersFilterOnlyMyMiddle.status=' => null
]
];
}
protected function filterPlanned(&$result)

View File

@@ -33,13 +33,14 @@ class Meeting extends \Espo\Core\SelectManagers\Base
{
protected function accessOnlyOwn(&$result)
{
$this->addJoin('users', $result);
$result['whereClause'][] = array(
'OR' => array(
'usersMiddle.userId' => $this->getUser()->id,
$this->setDistinct(true, $result);
$this->addJoin(['users', 'usersAccess'], $result);
$result['whereClause'][] = [
'OR' => [
'usersAccessMiddle.userId' => $this->getUser()->id,
'assignedUserId' => $this->getUser()->id
)
);
]
];
}
protected function accessOnlyTeam(&$result)
@@ -48,25 +49,25 @@ class Meeting extends \Espo\Core\SelectManagers\Base
$this->addLeftJoin(['teams', 'teamsAccess'], $result);
$this->addLeftJoin(['users', 'usersAccess'], $result);
$result['whereClause'][] = array(
'OR' => array(
'teamsAccess.id' => $this->getUser()->getLinkMultipleIdList('teams'),
'usersAccess.id' => $this->getUser()->id,
$result['whereClause'][] = [
'OR' => [
'teamsAccessMiddle.teamId' => $this->getUser()->getLinkMultipleIdList('teams'),
'usersAccessMiddle.userId' => $this->getUser()->id,
'assignedUserId' => $this->getUser()->id
)
);
]
];
}
protected function boolFilterOnlyMy(&$result)
{
$this->addJoin('users', $result);
$result['whereClause'][] = array(
'users.id' => $this->getUser()->id,
'OR' => array(
'usersMiddle.status!=' => 'Declined',
'usersMiddle.status=' => null
)
);
$this->addJoin(['users', 'usersFilterOnlyMy'], $result);
$result['whereClause'][] = [
'usersFilterOnlyMyMiddle.userId' => $this->getUser()->id,
'OR' => [
'usersFilterOnlyMyMiddle.status!=' => 'Declined',
'usersFilterOnlyMyMiddle.status=' => null
]
];
}
protected function filterPlanned(&$result)
@@ -92,4 +93,3 @@ class Meeting extends \Espo\Core\SelectManagers\Base
));
}
}

View File

@@ -44,7 +44,7 @@ class UniqueId extends \Espo\Core\ORM\Repositories\RDB
protected function getNewEntity()
{
$entity = parent::getNewEntity();
$entity->set('name', uniqid());
$entity->set('name', \Espo\Core\Utils\Util::generateId());
return $entity;
}
}

View File

@@ -238,7 +238,8 @@
"Convert to": "Convert to",
"View Personal Data": "View Personal Data",
"Personal Data": "Personal Data",
"Erase": "Erase"
"Erase": "Erase",
"Move Over": "Move Over"
},
"messages": {
"pleaseWait": "Please wait...",

View File

@@ -40,6 +40,7 @@
"ldapAccountCanonicalForm": "Account Canonical Form",
"ldapAccountDomainName": "Account Domain Name",
"ldapTryUsernameSplit": "Try Username Split",
"ldapPortalUserLdapAuth": "Use LDAP Authentication for Portal Users",
"ldapCreateEspoUser": "Create User in EspoCRM",
"ldapSecurity": "Security",
"ldapUserLoginFilter": "User Login Filter",
@@ -54,6 +55,8 @@
"ldapUserTeams": "User Teams",
"ldapUserDefaultTeam": "User Default Team",
"ldapUserPhoneNumberAttribute": "User Phone Number Attribute",
"ldapPortalUserPortals": "Default Portals for a Portal User",
"ldapPortalUserRoles": "Default Roles for a Portal User",
"exportDisabled": "Disable Export (only admin is allowed)",
"assignmentNotificationsEntityList": "Entities to notify about upon assignment",
"assignmentEmailNotifications": "Notifications upon assignment",
@@ -137,6 +140,7 @@
"ldapBaseDn": "The default base DN used for searching users. E.g. \"OU=users,OU=espocrm,DC=test, DC=lan\".",
"ldapTryUsernameSplit": "The option to split a username with the domain.",
"ldapOptReferrals": "if referrals should be followed to the LDAP client.",
"ldapPortalUserLdapAuth": "Allow portal users to use LDAP authentication instead of Espo authentication.",
"ldapCreateEspoUser": "This option allows EspoCRM to create a user from the LDAP.",
"ldapUserFirstNameAttribute": "LDAP attribute which is used to determine the user first name. E.g. \"givenname\".",
"ldapUserLastNameAttribute": "LDAP attribute which is used to determine the user last name. E.g. \"sn\".",
@@ -148,6 +152,8 @@
"ldapAccountDomainNameShort": "The short domain which is used for authorization to LDAP server.",
"ldapUserTeams": "Teams for created user. For more, see user profile.",
"ldapUserDefaultTeam": "Default team for created user. For more, see user profile.",
"ldapPortalUserPortals": "Default Portals for created Portal User",
"ldapPortalUserRoles": "Default Roles for created Portal User",
"b2cMode": "By default EspoCRM is adapted for B2B. You can switch it to B2C.",
"currencyDecimalPlaces": "Number of decimal places. If empty then all nonempty decimal places will be displayed.",
"aclStrictMode": "Enabled: Access to scopes will be forbidden if it's not specified in roles.\n\nDisabled: Access to scopes will be allowed if it's not specified in roles.",
@@ -155,7 +161,8 @@
"textFilterUseContainsForVarchar": "If not checked then 'starts with' operator is used. You can use the wildcard '%'.",
"streamEmailNotificationsEntityList": "Email notifications about stream updates of followed records. Users will receive email notifications only for specified entity types.",
"authTokenPreventConcurrent": "Users won't be able to be logged in on multiple devices simultaneously.",
"emailAddressIsOptedOutByDefault": "When creating new record email addess will be marked as opted-out."
"emailAddressIsOptedOutByDefault": "When creating new record email addess will be marked as opted-out.",
"cleanupDeletedRecords": "Removed records will be deleted from database after a while."
},
"labels": {
"System": "System",

View File

@@ -5,12 +5,14 @@
"createdAt": "Data",
"target": "Tikslas",
"targetType": "Adresatų tipas",
"ipAddress": "IP Adresss"
"ipAddress": "IP Adresss",
"authLogRecord": "Auth žurnalo įrašas"
},
"links": {
"authToken": "Autentikavimo žymė",
"user": "Vartotojas",
"target": "Tikslas"
"target": "Tikslas",
"authLogRecord": "Auth žurnalo įrašas"
},
"presetFilters": {
"onlyMy": "Tik mano"

View File

@@ -56,7 +56,10 @@
"Email Filters": "El. pašto filtrai",
"Portal Users": "Portalo vartotojai",
"Action History": "Veiksmų istorija",
"Label Manager": "Etikečių tvarkyklė"
"Label Manager": "Etikečių tvarkyklė",
"Auth Log": "Auth Prisijungti",
"Lead Capture": "\"Lead Capture\"",
"Attachments": "Priedai"
},
"layouts": {
"list": "Sąrašas",
@@ -72,7 +75,9 @@
"sidePanelsEditSmall": "Šoninės panelės (redaguoti smulkias)",
"detailPortal": "Plati informacija (Portalas)",
"detailSmallPortal": "Plati informacija (mažesnis variantas, portalas)",
"listPortal": "Sąrašas (Portalas)"
"listSmallPortal": "Sąrašas (mažas, portalas)",
"listPortal": "Sąrašas (Portalas)",
"relationshipsPortal": "Santykių grupės (portalas)"
},
"fieldTypes": {
"address": "Adresas",
@@ -85,8 +90,6 @@
"bool": "Būlis",
"currency": "Valiuta",
"date": "Data",
"datetime": "DataLaikas",
"datetimeOptional": "Data/Data laikas",
"email": "El. paštas",
"enumInt": "Sąrašas",
"enumFloat": "Sąrašo padėtis",
@@ -104,7 +107,12 @@
"rangeCurrency": "Valiutų gruopė",
"map": "Žemėlapis",
"currencyConverted": "Valiuta (konvertuota)",
"colorpicker": "Spalvos pasirinkimas"
"colorpicker": "Spalvos pasirinkimas",
"int": "Skaitmuo",
"number": "Numeris (automatinis prieaugis)",
"jsonObject": "Json objektas",
"datetime": "Data-laikas",
"datetimeOptional": "Data / data-laikas"
},
"fields": {
"type": "Tipas",
@@ -145,7 +153,11 @@
"probabilityMap": "Tikimybių etapai (%)",
"readOnly": "Tik skaitymui",
"noEmptyString": "Tuščios eilutės reikšmė neleidžiama",
"maxFileSize": "Maksimalus failo dydis (Mb)"
"maxFileSize": "Maksimalus failo dydis (Mb)",
"isPersonalData": "Ar asmeniniai duomenys",
"useIframe": "Naudokite \"Iframe\"",
"useNumericFormat": "Naudokite skaitmeninį formatą",
"strip": "Juostos juosta"
},
"messages": {
"selectEntityType": "Pasirinkite objekto tipą kairiajame meniu.",
@@ -161,7 +173,9 @@
"thousandSeparatorEqualsDecimalMark": "Tūkstančių skirtukų simbolis negali būti toks pat kaip dešimtainio skirtuko simbolis.",
"userHasNoEmailAddress": "Vartotojas neturi el. pašto adreso.",
"newVersionIsAvailable": "Nauja EspoCRM versija {latestVersion} yra prieinama.",
"newExtensionVersionIsAvailable": "Yra {extensionName} nauja versija {latestVersion}."
"uninstallConfirmation": "Ar tikrai norite pašalinti plėtinį?",
"cronIsNotConfigured": "Numatytos darbo vietos neveikia. Taigi įeinantys laiškai, pranešimai ir priminimai neveikia. Prašome laikytis [instrukcijų] (https://www.espocrm.com/documentation/administration/server-configuration/#user-content-setup-a-crontab) nustatyti cron darbą.",
"newExtensionVersionIsAvailable": "Yra nauja {extensionName} versija {latestVersion}."
},
"descriptions": {
"settings": "Sistemos programos nustatymai.",
@@ -192,7 +206,10 @@
"entityManager": "Sukurkite ir redaguokite pritaikytus vedinius. Tvarkykite laukelius ir sąsajas.",
"emailFilters": "El. pašto laiškai, atitinkantys nurodytą filtrą, nebus importuoti.",
"actionHistory": "Vartotojo veiksmų žurnalas.",
"labelManager": "Prisitaikykite aplikacijų etiketes"
"labelManager": "Prisitaikykite aplikacijų etiketes",
"authLog": "Prisijungimo istorija.",
"leadCapture": "API prisijungimo taškai \"Web-to-Lead\".",
"attachments": "Visi failo priedai, saugomi sistemoje."
},
"options": {
"previewSize": {

View File

@@ -1,5 +1,27 @@
{
"insertFromSourceLabels": {
"Document": "Įterpti dokumentą\n"
},
"fields": {
"role": "Vaidmuo",
"related": "Susijęs",
"file": "Failas",
"type": "Įveskite",
"field": "Laukas",
"sourceId": "Šaltinio ID",
"storage": "Sandėliavimas",
"size": "Dydis (baitai)"
},
"options": {
"role": {
"Attachment": "Priedas",
"Import File": "Importuoti failą",
"Export File": "Eksporto failas",
"Mail Merge": "Pašto suliejimo",
"Mass Pdf": "Masinis pdf"
}
},
"presetFilters": {
"orphan": "Našlaitis"
}
}

View File

@@ -1 +1,34 @@
{}
{
"fields": {
"username": "Naudotojo vardas",
"ipAddress": "IP adresas",
"requestTime": "Užklausos laikas",
"createdAt": "Prašoma at",
"isDenied": "Yra atmesta",
"portal": "Portalas",
"user": "Vartotojas",
"authToken": "Sukurtas \"Auth Token\"",
"requestUrl": "Prašyti URL",
"requestMethod": "Prašymo metodas",
"authTokenIsActive": "Auth Token yra aktyvus"
},
"links": {
"authToken": "Sukurtas \"Auth Token\"",
"user": "Naudotojas",
"portal": "Portalas",
"actionHistoryRecords": "Veiksmų istorija"
},
"presetFilters": {
"denied": "Atmesta",
"accepted": "Priimta"
},
"options": {
"denialReason": {
"CREDENTIALS": "Netinkami įgaliojimai",
"INACTIVE_USER": "Pakviesti naudotoją",
"IS_PORTAL_USER": "Portalo naudotojas",
"IS_NOT_PORTAL_USER": "Ne portalo naudotojas",
"USER_IS_NOT_IN_PORTAL": "Vartotojas nėra susijęs su portalu"
}
}
}

View File

@@ -4,6 +4,7 @@
"ipAddress": "IP Adresss",
"lastAccess": "Paskutinio prisijungimo data",
"createdAt": "Prisijungimo data",
"isActive": "Yra aktyvus",
"portal": "Portalas"
},
"links": {
@@ -13,6 +14,9 @@
"active": "Aktyvus",
"inactive": "Neaktyvus"
},
"labels": {
"Set Inactive": "Nustatyti neaktyvią"
},
"massActions": {
"setInactive": "Nustatyti kaip neaktyvų"
}

View File

@@ -14,7 +14,8 @@
"boolFilterList": "Papildomi filtrai",
"sortBy": "Rikiavimas (laukelių)",
"sortDirection": "Rikiavimas kryptis)",
"expandedLayout": "Išdėstymas"
"expandedLayout": "Išdėstymas",
"dateFilter": "Data filtras"
},
"options": {
"mode": {

View File

@@ -13,7 +13,6 @@
"attachments": "Prisegtukai",
"selectTemplate": "Pasirinkti šabloną",
"fromEmailAddress": "Nuo adreso",
"toEmailAddresses": "Adresui",
"emailAddress": "El. pašto adresas",
"deliveryDate": "Pristatymo data",
"account": "Paskyra",
@@ -34,7 +33,17 @@
"hasAttachment": "Turi prisegtuką",
"sentBy": "Išsiųsta",
"assignedUsers": "Priskirti vartotojai",
"bodyPlain": "Tekstas (paprastas)"
"bodyPlain": "Tekstas (paprastas)",
"ccEmailAddresses": "CC el. Pašto adresai",
"messageId": "Pranešimo id",
"messageIdInternal": "Pranešimo ID (vidinis)",
"folderId": "Aplanko ID",
"fromName": "Iš vardo",
"fromString": "Iš stygos",
"isSystem": "Ar sistema",
"toEmailAddresses": "El. Pašto adresai",
"bccEmailAddresses": "BCC el. Pašto adresai",
"replyToEmailAddresses": "Atsakymas į el. Pašto adresus"
},
"links": {
"replied": "Atsakyta",
@@ -42,7 +51,13 @@
"inboundEmails": "Grupės paskyros",
"emailAccounts": "Asmeninės paskyros",
"assignedUsers": "Priskirti vartotojai",
"sentBy": "Išsiųsta"
"sentBy": "Išsiųsta",
"attachments": "Priedas",
"fromEmailAddress": "Nuo el. Pašto adreso",
"toEmailAddresses": "El. Pašto adresai",
"ccEmailAddresses": "CC el. Pašto adresai",
"bccEmailAddresses": "BCC el. Pašto adresai",
"replyToEmailAddresses": "Atsakymas į el. Pašto adresus"
},
"options": {
"status": {
@@ -86,7 +101,8 @@
"noSmtpSetup": "Nėra SMTP nustatymų. {link}.",
"testEmailSent": "Bandomasis el. laiškas išsiųstas",
"emailSent": "El. laiškas yra išsiųstas",
"savedAsDraft": "Juodraštis šsaugotas"
"savedAsDraft": "Juodraštis šsaugotas",
"confirmInsertTemplate": "El. Paštas bus prarastas. Ar tikrai norite įterpti šabloną?"
},
"presetFilters": {
"sent": "Išsiųsta",

View File

@@ -19,7 +19,8 @@
"smtpAuth": "SMTP autentikavimas",
"smtpSecurity": "SMTP apsauga",
"smtpUsername": "SMTP vartotojo vardas",
"smtpPassword": "SMTP slaptažodis"
"smtpPassword": "SMTP slaptažodis",
"useImap": "Tikrinti paštą"
},
"links": {
"filters": "Filtrai",

View File

@@ -7,11 +7,13 @@
"subject": "Tema",
"attachments": "Prisegtukai",
"insertField": "Įterpti laukelį",
"oneOff": "Vienkartinis"
"oneOff": "Vienkartinis",
"category": "Kategorija"
},
"labels": {
"Create EmailTemplate": "Sukurti el. pašto laiško šabloną",
"Info": "Informacija"
"Info": "Informacija",
"Available placeholders": "Galimi užpildai"
},
"tooltips": {
"oneOff": "Pažymėkite, jei ketinate naudoti šį šabloną tik vieną kartą. Pavyzdžiui masiniems el. laiškams."
@@ -20,6 +22,10 @@
"actual": "Esamas"
},
"messages": {
"infoText": "Galimi kintamieji:\n\n{optOutUrl} - nuoroda \"unsubsbribe\"; URL;\n\n{optOutLink} - atsisakyti prenumeratos nuorodą."
"infoText": "Galimi užpildai:\n\n{optOutUrl} & # 8211; \"Unsubsbribe\" nuorodos URL;\n\n{optOutLink} & # 8211; Atsisakyti prenumeratos nuorodą."
},
"placeholderTexts": {
"optOutUrl": "URL nepasirinkto šlamšto nuorodos",
"optOutLink": "atsisakyti prenumeratos nuorodą"
}
}

View File

@@ -0,0 +1,14 @@
{
"labels": {
"Create EmailTemplateCategory": "Sukurti kategoriją",
"Manage Categories": "Maldyti kategorijas",
"EmailTemplates": "Laiško šablonas"
},
"fields": {
"order": "Užsakyti",
"childList": "Vaikų sąrašas"
},
"links": {
"emailTemplates": "Laiškų šablonai"
}
}

View File

@@ -14,16 +14,25 @@
"stream": "Srautas",
"label": "Etiketė",
"linkType": "Nuorodos tipas",
"entityForeign": "Užsienio subjektas",
"linkForeign": "Užsienio ryšys",
"link": "Nuoroda",
"labelForeign": "Užsienio etiketė",
"sortBy": "Numatytas rikiavimas (laukeliai)",
"sortDirection": "Numatytas rikiavimas (kryptis)",
"relationName": "Vidurinis lentelės pavadinimas",
"linkMultipleField": "Susieti kelis laukelius",
"linkMultipleFieldForeign": "Užsienio ryšių keli laukai",
"disabled": "Išjungtas",
"textFilterFields": "Teksto filtro laukai",
"audited": "Patikrinta",
"auditedForeign": "Patikrinta iš išorės",
"statusField": "Būsenos laukelis",
"beforeSaveCustomScript": "Prieš išsaugant tinkintą tekstą"
"beforeSaveCustomScript": "Prieš išsaugant tinkintą tekstą",
"color": "Spalva",
"kanbanStatusIgnoreList": "Ignoruojamos grupės Kanbanoje",
"iconClass": "Piktograma",
"fullTextSearch": "Pilna teksto paieška"
},
"options": {
"type": {
@@ -39,7 +48,8 @@
"manyToMany": "Daugelis-daugeliui",
"oneToMany": "Vienas-daugeliui",
"manyToOne": "Daugelis-vienam",
"parentToChildren": "Pagrindinis-antriniui"
"parentToChildren": "Pagrindinis-antriniui",
"childrenToParent": "Vaikai tėvams"
},
"sortDirection": {
"asc": "Didėjančia tvarka",
@@ -47,7 +57,9 @@
}
},
"messages": {
"linkAlreadyExists": "Sąsajos pavadinimo konfliktas."
"entityCreated": "Įrašas buvo sukurtas",
"linkAlreadyExists": "Sąsajos pavadinimo konfliktas.",
"linkConflict": "Vardas konfliktas: nuoroda ar laukas su tuo pačiu pavadinimu jau egzistuoja."
},
"tooltips": {
"statusField": "Šio lauko atnaujinimai įrašomi sraute.",
@@ -56,6 +68,7 @@
"disabled": "Patikrinkite, ar jums nereikia šio objekto sistemoje.",
"linkAudited": "Susijusio įrašo kūrimas ir susiejimas su esamu įrašu bus registruojamas sraute.",
"linkMultipleField": "\"Susieti daugelį laukelių\" yra patogus būdas redaguoti sasajas. Nenaudokite to, jei galite turėti daug panašių įrašų.",
"entityType": "Bazė plius - rodo \"Veiklos\", \"Istorija\" ir \"Užduotys\" skiltis.\nĮvykis - pasiekiamas skiltyje \"Kalendorius\" ir \"Veiklos\"."
"entityType": "Bazė plius - rodo \"Veiklos\", \"Istorija\" ir \"Užduotys\" skiltis.\nĮvykis - pasiekiamas skiltyje \"Kalendorius\" ir \"Veiklos\".",
"fullTextSearch": "Reikia atlikti rekonstrukciją."
}
}

View File

@@ -3,7 +3,8 @@
"name": "Vardas",
"version": "Versija",
"description": "Aprašymas",
"isInstalled": "Įdiegta"
"isInstalled": "Įdiegta",
"checkVersionUrl": "Naujų versijų tikrinimo URL"
},
"labels": {
"Uninstall": "Išdiegta",

View File

@@ -91,7 +91,8 @@
"last": "Paskutinis"
},
"currency": {
"converted": "(Konvertuota)"
"converted": "(Konvertuota)",
"currency": "(Valiuta)"
},
"datetimeOptional": {
"date": "Data"

View File

@@ -37,9 +37,16 @@
"Export": "Eksportuoti",
"DynamicLogic": "Dinaminė logika",
"DashletOptions": "Panelio pasirinkimai",
"Global": "Pasaulinis",
"Preferences": "Nustatymai",
"EmailAddress": "El. pašto adresas",
"PhoneNumber": "Telefono numeris"
"PhoneNumber": "Telefono numeris",
"AuthLogRecord": "Auth žurnalo įrašas",
"AuthFailLogRecord": "Atvykti failų žurnalo įrašą",
"EmailTemplateCategory": "Laiškų šablonų kategorijos",
"LeadCapture": "\"Lead Capture Entry Point\"",
"LeadCaptureLogRecord": "Švino surinkimo žurnalo įrašas",
"ArrayValue": "Masyvo vertė"
},
"scopeNamesPlural": {
"Email": "El. laiškai",
@@ -56,7 +63,6 @@
"Dashboard": "Prietaisų skydelis",
"InboundEmail": "Grupės el. pašto paskyros",
"Stream": "Srautas",
"Import": "Importuoti rezultatus",
"Template": "Šablonai",
"Job": "Užduotys",
"EmailFilter": "El. pašto filtrai",
@@ -70,7 +76,14 @@
"ActionHistoryRecord": "Veiksmų istorija",
"AuthToken": "Autentikavimo priemonė",
"UniqueId": "Unikalūs ID",
"LastViewed": "Paskutiniai peržiūrėti"
"LastViewed": "Paskutiniai peržiūrėti",
"AuthLogRecord": "Auth Prisijungti",
"AuthFailLogRecord": "Atvykti failų žurnalas",
"EmailTemplateCategory": "Laiškų šablonų kategorijos ",
"Import": "Importuoti",
"LeadCapture": "\"Lead Capture\"",
"LeadCaptureLogRecord": "Švino surinkimo žurnalas",
"ArrayValue": "Masyvo reikšmės"
},
"labels": {
"Misc": "Įvairūs",
@@ -218,7 +231,12 @@
"Collapse": "Suskleisti",
"New notifications": "Nauji pranešimai",
"Manage Categories": "Tvarkyti kategorijas",
"Manage Folders": "Tvarkyti aplankus"
"Manage Folders": "Tvarkyti aplankus",
"Convert to": "Eksportuoti į",
"View Personal Data": "Peržiūrėkite asmeninius duomenis",
"Personal Data": "Asmeniniai duomenys",
"Erase": "Ištrinti",
"Move Over": "Pasitrauk"
},
"messages": {
"pleaseWait": "Prašome palaukti...",
@@ -264,12 +282,19 @@
"massUnfollowZeroResult": "Nėra nesekamų įrašų",
"fieldShouldBeEmail": "{laukas} turėtų būti tinkamas el. pašto adresas",
"fieldShouldBeFloat": "{laukas} turėtų būti tinkamas",
"fieldShouldBeInt": "{laukas} turi būti teisingas sveikasis skaičius",
"fieldShouldBeDate": "{laukas} turėtų būti galiojanti data",
"fieldShouldBeDatetime": "{field} turėtų būti teisinga data / laikas",
"internalPostTitle": "Paštą mato tik vidiniai vartotojai",
"loading": "Kraunama...",
"saving": "Saugoma...",
"fieldMaxFileSizeError": "Failas neturėtų viršyti {max} Mb",
"fieldShouldBeLess": "{field} neturėtų būti didesnis nei {value}",
"fieldShouldBeGreater": "{field} neturėtų būti mažesnis nei {value}"
"fieldShouldBeGreater": "{field} neturėtų būti mažesnis nei {value}",
"fieldIsUploading": "Įkėlimas vykdomas",
"streamPostInfo": "Įrašykite naudotojo įrašus naudodami <strong> @pavadinimus </ strong>.\n\nGalimas žymėjimo sintaksė:\n`<code> kodas </ code>`\n`` `<code> daugiataškis kodas </ code>` ``\n** <strong> stipraus teksto </ strong> **\n* <em> pabrėžė tekstas </ em> *\n~~ <del> ištrintas tekstas </ del> ~~\n> blockquote\n[nuorodos tekstas] (url)",
"erasePersonalDataConfirmation": "Pažymėti laukai bus ištrinti visam laikui. Ar tu tuo tikras?",
"massPrintPdfMaxCountError": "Negalima spausdinti daugiau {maxCount} įrašų."
},
"boolFilters": {
"onlyMy": "Tik mano",
@@ -285,7 +310,9 @@
"massUpdate": "Masinis atnaujinimas",
"export": "Eksportuoti",
"follow": "Stebėti",
"unfollow": "Nebesekti"
"unfollow": "Nebesekti",
"convertCurrency": "Pakeisti valiutą",
"printPdf": "Spausdinti PDF formatu"
},
"fields": {
"name": "Vardas",
@@ -311,7 +338,14 @@
"phoneNumberOther": "Telefonas (kitas)",
"order": "Eilė",
"parent": "Pagrindinis",
"children": "Antrinis"
"children": "Antrinis",
"emailAddressData": "El. pašto duomenys",
"phoneNumberData": "Telefono numerio duomenys",
"ids": "ID",
"names": "Vardai",
"emailAddressIsOptedOut": "El. Pašto adresas yra išjungtas",
"targetListIsOptedOut": "Atmetamas (tikslinius sąrašus)",
"type": "Įveskite"
},
"links": {
"assignedUser": "Priskirtas darbuotojas",
@@ -493,11 +527,13 @@
},
"varcharSearchRanges": {
"equals": "Lygu",
"like": "Yra tarsi (%)",
"startsWith": "Prasideda",
"endsWith": "Baigiasi",
"contains": "Yra",
"isEmpty": "Yra tuščia",
"isNotEmpty": "Yra netuščia",
"notLike": "Nėra panašus (%)",
"notContains": "Neturi",
"notEquals": "Nelygu"
},
@@ -627,18 +663,28 @@
}
}
},
"themes": {
"Sakura": "Saura",
"EspoRtl": "Iš dešinės į kairę Espo",
"EspoVertical": "Espo w / šoninė juosta",
"SakuraVertical": "Sakura w / šoninė juosta",
"VioletVertical": "Violet w / šoninė juosta",
"HazyblueVertical": "SidHazyblue w / šoninė juosta"
},
"streamMessagesMale": {
"postTargetSelfAndOthers": "{user} paskelbė {target} ir sau"
},
"streamMessagesFemale": {
"postTargetSelfAndOthers": "{user} paskelbė {target} ir sau"
},
"themes": {
"EspoRtl": "Iš dešinės į kairę Espo",
"Espo": "Klasikinis espo",
"Sakura": "Klasikinė Sakura",
"EspoVertical": "Vertikali Espo",
"SakuraVertical": "Vertikali Sakura",
"Violet": "Klasikinis violetinis",
"VioletVertical": "Vertikali violetinė",
"Hazyblue": "Klasikinis \"Hazyblue\"",
"HazyblueVertical": "Vertikalios bangos"
},
"durationUnits": {
"h": "H",
"m": "min"
},
"listViewModes": {
"list": "Sąrašas"
}
}

View File

@@ -37,6 +37,7 @@
"Field Delimiter": "Laukelių atskyrimas",
"Date Format": "Datos formatas",
"Decimal Mark": "Dešimtainis ženklas",
"Text Qualifier": "Teksto kvalifikacija",
"Time Format": "Laiko formatas",
"Currency": "Valiuta",
"Preview": "Peržiūra",
@@ -48,12 +49,21 @@
"Imported": "Importuota",
"Duplicates": "Dublikatai",
"Skip searching for duplicates": "Praleisti dublikatų paiešką",
"Timezone": "Laiko zona"
"Timezone": "Laiko zona",
"Remove Import Log": "Pašalinti importo žurnalą",
"New Import": "Naujas importas",
"Import Results": "Importuoti rezultatus"
},
"messages": {
"utf8": "Turėtų būti užkoduotas UTF-8",
"duplicatesRemoved": "Dublikatai pašalinti",
"inIdle": "Vykdyti tuščiąja eiga (dideliems duomenims; per cron)"
"inIdle": "Vykdyti tuščiąja eiga (dideliems duomenims; per cron)",
"revert": "Tai pašalins visus importuotus įrašus visam laikui.",
"removeDuplicates": "Tai visam laikui pašalins visus importuotus įrašus, kurie buvo pripažinti kaip pasikartojantys.",
"confirmRevert": "Tai pašalins visus importuotus įrašus visam laikui. Ar tu tuo tikras?",
"confirmRemoveDuplicates": "Tai visam laikui pašalins visus importuotus įrašus, kurie buvo pripažinti kaip pasikartojantys. Ar tu tuo tikras?",
"confirmRemoveImportLog": "Tai pašalins importo žurnalą. Visi importuoti įrašai bus saugomi. Jūs negalėsite sugrąžinti importo rezultatų. Ar tu esi įsitikinęs?",
"removeImportLog": "Tai pašalins importo žurnalą. Visi importuoti įrašai bus saugomi. Naudok jį, jei esate tikri, kad importas yra gerai."
},
"fields": {
"file": "Failas",

View File

@@ -17,6 +17,7 @@
"replyToAddress": "Atsakyti adresatui",
"replyFromName": "Atsakyti nuo vardo",
"targetUserPosition": "Adresato pozicija",
"fetchSince": "Išeiti iš",
"addAllTeamUsers": "Visiems komandos nariams",
"team": "Adresatų komanda",
"teams": "Komandos",
@@ -31,7 +32,8 @@
"smtpPassword": "SMTP slaptažodis",
"fromName": "Nuo vardo",
"smtpIsShared": "SMTP yra bendrai naudojamas",
"smtpIsForMassEmail": "SMTP yra masinio el. pašto adresas"
"smtpIsForMassEmail": "SMTP yra masinio el. pašto adresas",
"useImap": "Paimkite el. Laiškus"
},
"tooltips": {
"reply": "Pranešti siuntėjams, kad jų el. Laiškai buvo gauti.\n\n  Tam tikram gavėjui per tam tikrą laikotarpį bus išsiųstas tik vienas el. laiškas, kad būtų išvengta kartojimų.",
@@ -41,6 +43,8 @@
"assignToUser": "Vartotojo darbai bus priskirti.",
"team": "Komandos darbai bus priskirti.",
"teams": "Komandos el. laiškai bus priskirti.",
"addAllTeamUsers": "El. Laiškai bus rodomi visų žinomų komandų naudotojų gautuosiuose.",
"targetUserPosition": "Vartotojai su nurodyta pozicija bus platinami su atvejais.",
"monitoredFolders": "Keli aplankai turėtų būti atskirti kableliais.",
"smtpIsShared": "Jei pažymėsite, vartotojai galės siųsti el. laiškus naudodami šį SMTP. Prieinamumą kontroliuoja Rolės, per leidimą grupės el. Pašto paskyrai.",
"smtpIsForMassEmail": "Jei pažymėta, SMTP bus prieinamas masiniams el.laiškams.",
@@ -48,7 +52,8 @@
},
"links": {
"filters": "Filtrai",
"emails": "El. laiška"
"emails": "El. laiška",
"assignToUser": "Priskirti vartotoją"
},
"options": {
"status": {

View File

@@ -2,6 +2,7 @@
"fields": {
"enabled": "Įjungta",
"clientId": "Kliento ID",
"clientSecret": "Kliento užuomina",
"redirectUri": "Nukreipti URL",
"apiKey": "API raktas"
},

View File

@@ -7,7 +7,9 @@
"serviceName": "Paslauga",
"methodName": "Metodas",
"scheduledJob": "Suplanuoti darbai",
"data": "Duomenys"
"data": "Duomenys",
"method": "Metodas (nebetinkamas)",
"scheduledJobJob": "Numatytas darbo pavadinimas"
},
"options": {
"status": {

View File

@@ -6,7 +6,9 @@
"align": "Lygiuoti",
"panelName": "Panelės pavadinimas",
"style": "Stilius",
"sticked": "Prikabinta"
"sticked": "Prikabinta",
"isLarge": "Didelis šrifto dydis",
"dynamicLogicVisible": "Sąlygos, dėl kurių skydas matomas"
},
"options": {
"align": {

View File

@@ -0,0 +1,41 @@
{
"fields": {
"name": "vardas",
"campaign": "Kampanija",
"isActive": "Yra aktyvus",
"subscribeToTargetList": "Prenumeruoti tikslinius sąrašus",
"subscribeContactToTargetList": "Prenumeruoti, jei yra",
"targetList": "Tikslinis sąrašas",
"fieldList": "Išlaidų laukai",
"optInConfirmation": "Dvigubas opt-in",
"optInConfirmationEmailTemplate": "Atsisakyti patvirtinimo el. Laiško šablono",
"optInConfirmationLifetime": "Parinkimo patvirtinimo galiojimo laikas (valandos)",
"optInConfirmationSuccessMessage": "Tekstas rodomas po patvirtinimo patvirtinimo",
"leadSource": "Švino šaltinis",
"apiKey": "API raktas",
"targetTeam": "Tikslinė komanda",
"exampleRequestMethod": "Metodas",
"exampleRequestPayload": "Naudingoji apkrova"
},
"links": {
"targetList": "Tikslinis sąrašas",
"campaign": "Kampanija",
"optInConfirmationEmailTemplate": "Atsisakyti patvirtinimo el. Laiško šablono",
"targetTeam": "Tikslinė komanda",
"logRecords": "Prisijungti"
},
"labels": {
"Create LeadCapture": "Sukurkite atvykimo tašką",
"Generate New API Key": "Sukurti naują API raktą",
"Request": "Prašymas",
"Confirm Opt-In": "Patvirtinkite pasirinkimą"
},
"messages": {
"generateApiKey": "Sukurkite naują API raktą",
"optInConfirmationExpired": "Prisijungimo patvirtinimo nuoroda baigėsi.",
"optInIsConfirmed": "Atsisakymas patvirtintas."
},
"tooltips": {
"optInConfirmationSuccessMessage": "Žymėjimas yra palaikomas."
}
}

View File

@@ -0,0 +1,14 @@
{
"fields": {
"number": "Numeris",
"data": "Duomenys",
"target": "Tikslinė",
"leadCapture": "\"Lead Capture\"",
"createdAt": "Įeina į",
"isCreated": "Sukurtas švinas"
},
"links": {
"leadCapture": "\"Lead Capture\"",
"target": "Tikslinė"
}
}

View File

@@ -7,7 +7,9 @@
"users": "Vartotojai",
"portals": "Portalai",
"type": "Tipas",
"isGlobal": "Yra pasaulis",
"isInternal": "Yra vidinis (vidiniams vartotojams)",
"related": "Susijęs",
"createdByGender": "Sukurta pagal lytį",
"data": "Duomenys",
"number": "Numeris"
@@ -27,6 +29,13 @@
"teams": "konkrečiai komandai (oms)",
"all": "visiems vidiniams vartotojams",
"portals": "konkretiems vartotojams"
},
"type": {
"Post": "Paštas"
}
},
"links": {
"superParent": "Super tėvų",
"related": "Susijęs"
}
}

View File

@@ -12,6 +12,6 @@
"exportPermission": "Eksportuoti leidimą"
},
"tooltips": {
"exportPermission": "Nustato kurie portalo vartotojai turi galimybę eksportuoti įrašus."
"exportPermission": "Nustato, ar portalo naudotojai gali eksportuoti įrašus."
}
}

View File

@@ -23,6 +23,8 @@
"defaultReminders": "Numatyti priminimai",
"theme": "Tema",
"useCustomTabList": "Pritaikytas lentelių sąrašas",
"receiveAssignmentEmailNotifications": "El. Laiškų siuntimas perduodant",
"receiveMentionEmailNotifications": "El. Pašto pranešimai apie paminimus pranešimuose",
"receiveStreamEmailNotifications": "Pranešimai el. paštu apie įrašus ir būsenos pasikeitimus",
"dashboardLayout": "Prietaisų skydelio išdėstymas",
"emailReplyForceHtml": "Siųsti atsakymą HTML formatu",
@@ -31,7 +33,10 @@
"doNotFillAssignedUserIfNotRequired": "Neužpildykite priskirto vartotojo įrašų kūrimo metu",
"followEntityOnStreamPost": "Automatiškai sekti įrašus, paskelbus \"Sraute\"",
"followCreatedEntities": "Automatiškai sekti sukurtus įrašus",
"followCreatedEntityTypeList": "Automatiškai sekti specialių vedinių tipų sukurtus įrašus"
"followCreatedEntityTypeList": "Automatiškai sekti specialių vedinių tipų sukurtus įrašus",
"emailUseExternalClient": "Naudokite išorinį el. Pašto klientą",
"scopeColorsDisabled": "Išjunkite spalvų apimtį",
"tabColorsDisabled": "Išjungti kortelių spalvas"
},
"options": {
"weekStart": {
@@ -42,11 +47,13 @@
"labels": {
"Notifications": "Pranešimai",
"User Interface": "Vartotojo sąsaja",
"Misc": "Įvairūs"
"Misc": "Įvairūs",
"Reset Dashboard to Default": "Iš naujo nustatyti informacijos suvestinę pagal nutylėjimą"
},
"tooltips": {
"autoFollowEntityTypeList": "Automatiškai sekti visus naujus sukurtus įrašus (sukurtus bet kurio vartotojo) pasirinktų vedinių tipų, kad galėtumėte matyti sraute esančią informaciją ir gauti pranešimus apie visus sistemos įrašus.",
"doNotFillAssignedUserIfNotRequired": "Kurdamas įrašą priskirtas vartotojas nebus užpildytas, nebent laukelis yra privalomas.",
"followCreatedEntities": "Vartotojai kurdami naujus įrašus bus automatiškai priskirti sekti eigą, net jeigu patys priskirs kitą vartotoją."
"followCreatedEntities": "Kuriant naujus įrašus jie bus automatiškai stebimi, net jei jie bus priskirti kitam vartotojui.",
"followCreatedEntityTypeList": "Kai kuriate naujus pasirinktų subjektų tipų įrašus, jie bus automatiškai stebimi, net jei jie bus priskirti kitam vartotojui."
}
}

View File

@@ -6,7 +6,8 @@
"userPermission": "Vartotojo leidimas",
"portalPermission": "Portalo leidimas",
"groupEmailAccountPermission": "Grupės el. pašto paskyros leidimas",
"exportPermission": "Eksportuoti leidimą"
"exportPermission": "Eksportuoti leidimą",
"dataPrivacyPermission": "Duomenų privatumo leidimas"
},
"links": {
"users": "Vartotojai",
@@ -17,7 +18,8 @@
"userPermission": "Leidžia apriboti vartotojų galimybę peržiūrėti kitų vartotojų veiklą, kalendorių ir srautą.\n\nvisi - gali peržiūrėti visus\n\nkomanda - gali matyti tik komandos narių veiklą\n\nNe - negali peržiūrėti",
"portalPermission": "Nurodo prieigą prie portalo informacijos, galimybė skelbti pranešimus portalo vartotojams.",
"groupEmailAccountPermission": "Nurodo prieigą prie grupės el. pašto abonementų, galimybę siųsti el. laiškus iš grupės SMTP.",
"exportPermission": "Nustato kurie vartotojai turi galimybę eksportuoti įrašus."
"dataPrivacyPermission": "Leidžia peržiūrėti ir ištrinti asmens duomenis.",
"exportPermission": "Nurodo, ar vartotojai gali eksportuoti įrašus."
},
"labels": {
"Access": "Prieiga",

View File

@@ -15,7 +15,8 @@
"CheckEmailAccounts": "Patikrinkite asmenines el. pašto paskyras",
"SendEmailReminders": "Siųsti priminimus el. paštu",
"AuthTokenControl": "Autentikavimo žymės kontrolė",
"SendEmailNotifications": "Siųsti pranešimus el. paštu"
"SendEmailNotifications": "Siųsti pranešimus el. paštu",
"CheckNewVersion": "Patikrinkite, ar nėra naujos versijos"
},
"cronSetup": {
"linux": "Pastaba: įtraukite šią eilutę į crontab failą, kad paleistumėte \"Espo Suplanuoti darbai\":",

View File

@@ -30,6 +30,7 @@
"tabList": "Tabų sąrašas",
"quickCreateList": "Greitai sukurti sąrašą",
"exportDelimiter": "Eksporto delimiteris",
"globalSearchEntityList": "Globalus paieškos subjektų sąrašas",
"authenticationMethod": "Autentifikavimo metodas",
"ldapHost": "Hostas",
"ldapAccountCanonicalForm": "Paskyros kanoninė forma",
@@ -56,7 +57,9 @@
"notificationSoundsDisabled": "Išjungti prenešimų garsus",
"applicationName": "Aplikacijos pavadinimas",
"ldapUsername": "Pilnas vartotojo DN",
"ldapBaseDn": "Bazė DN",
"ldapUserNameAttribute": "Vartotojo prisijungimo vardo savybė",
"ldapUserObjectClass": "Vartotojo objekto klasė",
"ldapUserTitleAttribute": "Vartotojo kreipinio savybė",
"ldapUserFirstNameAttribute": "Vartotojo vardo savybė",
"ldapUserLastNameAttribute": "Vartotojo pavardės savybė",
@@ -71,17 +74,39 @@
"portalStreamEmailNotifications": "\nPranešimai apie naujinius \"Sraute\" portalo naudotojams",
"streamEmailNotificationsEntityList": "\"Srauto\" pranešimai el. paštu taikymo sritis",
"calendarEntityList": "Kalendoriaus vedinių sąrašas",
"mentionEmailNotifications": "Siųskite el. Paštu pranešimus apie paminimus pranešimuose",
"massEmailDisableMandatoryOptOutLink": "Išjungti privalomą atsisakymo nuorodą",
"activitiesEntityList": "Veiklos subjektų sąrašas",
"historyEntityList": "Istorijos subjektų sąrašas",
"currencyFormat": "Valiutos formatas",
"currencyDecimalPlaces": "Valiutos dešimtainiai skaičiai",
"aclStrictMode": "ACL griežtas režimas",
"followCreatedEntities": "Sekti sukurtus įrašus",
"aclAllowDeleteCreated": "Leisti pašalinti sukurtus įrašus"
"aclAllowDeleteCreated": "Leisti pašalinti sukurtus įrašus",
"adminNotifications": "Sisteminiai pranešimai administravimo skiltyje",
"adminNotificationsNewVersion": "Rodyti pranešimą, kai yra prieinama nauja EspoCRM versija",
"massEmailMaxPerHourCount": "Maksimalus per valandą siunčiamų el. Laiškų skaičius",
"maxEmailAccountCount": "Maksimalus asmeninių el. Pašto paskyrų skaičius vienam vartotojui",
"streamEmailNotificationsTypeList": "Ką pranešti apie",
"authTokenPreventConcurrent": "Tik vienas autorinis raktas vienam vartotojui",
"scopeColorsDisabled": "Išjunkite spalvų apimtį",
"tabColorsDisabled": "Išjungti kortelių spalvas",
"tabIconsDisabled": "Išjungti kortelių piktogramas",
"textFilterUseContainsForVarchar": "Filtruoti varchar laukus naudokite \"containing\" operatorių",
"emailAddressIsOptedOutByDefault": "Pažymėkite naujus el. Pašto adresus kaip pasirinktą",
"outboundEmailBccAddress": "BCC adresas išoriniams klientams",
"adminNotificationsNewExtensionVersion": "Rodyti pranešimą, kai yra prieinamos naujos plėtinių versijos",
"cleanupDeletedRecords": "Išvalyti ištrintus įrašus"
},
"options": {
"weekStart": {
"0": "Sekmadienis",
"1": "Pirmadienis"
},
"streamEmailNotificationsTypeList": {
"Post": "Pranešimai",
"Status": "Būsenos atnaujinimai",
"EmailReceived": "Gauti el. Laiškai"
}
},
"tooltips": {
@@ -92,11 +117,20 @@
"authTokenLifetime": "Nurodo, kiek laiko gali egzistuoti žymės.\n0 - tai reiškia galioja be pabaigos.",
"authTokenMaxIdleTime": "Nurodo, kiek laiko gali egzistuoti žymės nuo paskutinio prisijungimo.\n0 - means no expiration. ",
"userThemesDisabled": "Jei pažymėsite, vartotojai negalės pasirinkti kitos temos.",
"ldapUsername": "Visas sistemos naudotojo DN, kuris leidžia ieškoti kitų vartotojų. Pavyzdžiui \"CN = LDAP sistemos naudotojas, OU = vartotojai, OU = espocrm, DC = testas, DC = lan\".",
"ldapPassword": "Slaptažodis prieigai prie LDAP serverio.",
"ldapAuth": "Prisijunkite LDAP serverio kredencialus.",
"ldapUserNameAttribute": "Savybė identifikuoti vartotojui.\nPvz. \"userPrincipalName\" arba \"sAMAccountName\" Active Directory, \"uid\" OpenLDAP.",
"ldapUserObjectClass": "ObjectClass atributas naudotojų paieškai. Pavyzdžiui \"person\" AD, \"inetOrgPerson\", skirta OpenLDAP.",
"ldapAccountCanonicalForm": "Jūsų paskyros kanoninės formos tipas. Yra 4 variantai: <br> - 'Dn' - forma formatu 'CN = tester, OU = espocrm, DC = test, DC = lan'. <br> - \"Vartotojo vardas\" - forma \"testeris\". <br> - \"Backslash\" - forma \"COMPANY \\ tester\". <br> - \"Principal\" - forma \"tester@company.com\".",
"ldapBindRequiresDn": "Galimybė formatuoti vartotojo vardą DN formoje.",
"ldapBaseDn": "Numatytoji DN bazė, naudojama vartotojų paieškai. Pavyzdžiui \"OU = vartotojai, OU = espocrm, DC = testas, DC = lan\".",
"ldapTryUsernameSplit": "Galimybė suskirstyti naudotojo vardą į domeną.",
"ldapOptReferrals": "jei kreiptis į LDAP klientą.",
"ldapCreateEspoUser": "Ši parinktis leidžia EspoCRM sukurti naudotoją iš LDAP.",
"ldapUserFirstNameAttribute": "LDAP atributas, naudojamas vartotojo vardui nustatyti. Pavyzdžiui \"duotas vardas\".",
"ldapUserLastNameAttribute": "LDAP atributas, naudojamas vartotojo vardui nustatyti. Pavyzdžiui \"sn\"",
"ldapUserTitleAttribute": "LDAP atributas, kuris naudojamas vartotojo vardui nustatyti. Pavyzdžiui \"pavadinimas\".",
"ldapUserEmailAddressAttribute": "LDAP savybė, kuri naudojama vartotojo el. pašto adresui nustatyti. Pavyzdžiui \"paštas\".",
"ldapUserPhoneNumberAttribute": "LDAP savybė, kuri naudojama vartotojo telefono numeriui nustatyti. Pavyzdžiui \"telefono nr.\".",
"ldapUserLoginFilter": "Filtras, leidžiantis apriboti vartotojus, kurie gali naudoti EspoCRM. Pavyzdžiui \"memberOf = CN = espoGroup, OU = groups, OU = espocrm, DC = test, DC = lan\".",
@@ -108,7 +142,12 @@
"currencyDecimalPlaces": "Dešimtainių skaičių kiekis. Jei tuščia, bus rodomas visos netuščios dešimtosios dalys.",
"aclStrictMode": "Įjungta: prieiga prie taikymo sričių bus uždrausta, jei ji nenurodyta rolėse.\nNeleidžiama: prieiga prie taikymo sričių bus leidžiama, jei ji nenurodyta rolėse.",
"outboundEmailIsShared": "Leiskite vartotojams siųsti el. laiškus iš šio adreso.",
"aclAllowDeleteCreated": "Vartotojai galės pašalinti įrašus, kuriuos jie sukūrė, net jei jie neturi pašalinimo galimybės."
"aclAllowDeleteCreated": "Vartotojai galės pašalinti įrašus, kuriuos jie sukūrė, net jei jie neturi pašalinimo galimybės.",
"textFilterUseContainsForVarchar": "Jei neužregistruotas, tada prasideda \"operatorius\". Galite naudoti pakaitos simbolį '%'.",
"streamEmailNotificationsEntityList": "Siųskite el. Paštu pranešimus apie srauto atnaujinimus pagal įrašus. Vartotojai gaus pranešimus elektroniniu paštu tik tam tikro tipo subjektams.",
"authTokenPreventConcurrent": "Vartotojai negalės vienu metu prisijungti prie kelių įrenginių.",
"emailAddressIsOptedOutByDefault": "Kuriant naują įrašą elektroninio pašto prenumerata bus pažymėta kaip pasirinkta.",
"cleanupDeletedRecords": "Ištrinti įrašai bus ištrinti iš duomenų bazės po kurio laiko."
},
"labels": {
"System": "Sistema",

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