mirror of
https://github.com/espocrm/espocrm.git
synced 2026-03-09 06:47:02 +00:00
Compare commits
66 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
374413eaae | ||
|
|
96538a2b6f | ||
|
|
39a3a6dbd2 | ||
|
|
e0705293e1 | ||
|
|
29f3f7c330 | ||
|
|
0e0e81f5ae | ||
|
|
bf503db267 | ||
|
|
028ad25fc6 | ||
|
|
950d98528a | ||
|
|
8b2d62d27a | ||
|
|
15d5985ec4 | ||
|
|
bd94543b71 | ||
|
|
c54bc30bda | ||
|
|
f2138a4e23 | ||
|
|
0e3b3c4193 | ||
|
|
58c767c0a6 | ||
|
|
19b4e91e25 | ||
|
|
67635f0b20 | ||
|
|
5d90b4f070 | ||
|
|
c212eb1f20 | ||
|
|
5ae0b5a3f2 | ||
|
|
06d907d633 | ||
|
|
737c5ff2ba | ||
|
|
ba19934c06 | ||
|
|
8885bb87be | ||
|
|
690c873291 | ||
|
|
158cdd27bc | ||
|
|
3181e54aa6 | ||
|
|
8028a153af | ||
|
|
0a03750d26 | ||
|
|
e9b1a91180 | ||
|
|
8677dd48ad | ||
|
|
c3d309d07e | ||
|
|
f3d2f0b453 | ||
|
|
fe638db414 | ||
|
|
e51be3fd85 | ||
|
|
4fd345cb88 | ||
|
|
41e2de18aa | ||
|
|
df567a0603 | ||
|
|
419fb93a91 | ||
|
|
c7473be8c7 | ||
|
|
311a01ef41 | ||
|
|
1a163907a3 | ||
|
|
2acdc00547 | ||
|
|
b622d8865c | ||
|
|
786fcfb580 | ||
|
|
eec8512f96 | ||
|
|
be62caef2b | ||
|
|
eabd52b186 | ||
|
|
101087680b | ||
|
|
372f1770e0 | ||
|
|
a44dcdc9ff | ||
|
|
d44b172602 | ||
|
|
241d7610ba | ||
|
|
6929b2d717 | ||
|
|
e743f61913 | ||
|
|
7f4e5dd01a | ||
|
|
8a1b58cf7c | ||
|
|
2a20766912 | ||
|
|
b49679eb90 | ||
|
|
b2ea073c16 | ||
|
|
54085a59c3 | ||
|
|
858658768d | ||
|
|
86421010b9 | ||
|
|
8675db36f3 | ||
|
|
f36a98a824 |
@@ -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.
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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']);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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';
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
);
|
||||
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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')) {
|
||||
|
||||
@@ -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".
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"layouts": {
|
||||
"detailConvert": "Konvertuoti potencialų klienta",
|
||||
"listForAccount": "Sąrašas (paskyrai)"
|
||||
"listForAccount": "Sąrašas (paskyrai)",
|
||||
"listForContact": "Sąrašas (kontaktams)"
|
||||
}
|
||||
}
|
||||
@@ -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į"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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": {
|
||||
|
||||
@@ -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ą"
|
||||
|
||||
@@ -1 +1,6 @@
|
||||
{}
|
||||
{
|
||||
"fields": {
|
||||
"futureDays": "Kitas X dienas",
|
||||
"useLastStage": "Grupė pagal paskutinį pasiektą etapą"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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": {
|
||||
|
||||
@@ -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ė",
|
||||
|
||||
@@ -40,5 +40,8 @@
|
||||
},
|
||||
"presetFilters": {
|
||||
"published": "Paskelbta"
|
||||
},
|
||||
"tooltips": {
|
||||
"portals": "Straipsnis bus prieinamas tik nurodytuose portaluose."
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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)"
|
||||
}
|
||||
}
|
||||
@@ -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": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"layouts": {
|
||||
"detailConvert": "转换潜在顾客",
|
||||
"detailConvert": "转换潜在客户",
|
||||
"listForAccount": "列表(帐户)"
|
||||
}
|
||||
}
|
||||
@@ -3,14 +3,14 @@
|
||||
"name": "名称",
|
||||
"parent": "关联",
|
||||
"status": "状态",
|
||||
"dateStart": "起始日期",
|
||||
"dateStart": "开始日期",
|
||||
"dateEnd": "日期结束",
|
||||
"direction": "方向",
|
||||
"duration": "持续时间",
|
||||
"description": "描述",
|
||||
"users": "用户",
|
||||
"contacts": "联系人",
|
||||
"leads": "潜在顾客",
|
||||
"leads": "潜在客户",
|
||||
"reminders": "提醒",
|
||||
"account": "客户",
|
||||
"acceptanceStatus": "接受状态"
|
||||
|
||||
@@ -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": "目标不会接收营销活动消息。"
|
||||
}
|
||||
}
|
||||
@@ -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": "已创建的潜在客户"
|
||||
}
|
||||
}
|
||||
@@ -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": "关闭",
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -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": "草案"
|
||||
}
|
||||
}
|
||||
@@ -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": "创建工单"
|
||||
}
|
||||
}
|
||||
@@ -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": "电子邮件"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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": "发布"
|
||||
}
|
||||
}
|
||||
@@ -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": "已转换"
|
||||
}
|
||||
}
|
||||
@@ -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": "完成"
|
||||
}
|
||||
}
|
||||
@@ -3,13 +3,13 @@
|
||||
"name": "名称",
|
||||
"parent": "关联",
|
||||
"status": "状态",
|
||||
"dateStart": "日期开始",
|
||||
"dateEnd": "日期结束",
|
||||
"dateStart": "开始日期",
|
||||
"dateEnd": "结束日期",
|
||||
"duration": "持续时间",
|
||||
"description": "描述",
|
||||
"users": "用户",
|
||||
"contacts": "往来",
|
||||
"leads": "潜在顾客",
|
||||
"contacts": "联系人",
|
||||
"leads": "潜在客户",
|
||||
"reminders": "提醒",
|
||||
"account": "客户",
|
||||
"acceptanceStatus": "接受状态"
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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": "新闻稿"
|
||||
|
||||
@@ -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": "过期"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"links": {
|
||||
"targetLists": "目标列表"
|
||||
},
|
||||
"fields": {
|
||||
"acceptanceStatus": "验收状态",
|
||||
"acceptanceStatusMeetings": "Acceptance Status (Meetings)",
|
||||
"acceptanceStatusCalls": "Acceptance Status (Calls)"
|
||||
"acceptanceStatusMeetings": "接受状态(Meetings)",
|
||||
"acceptanceStatusCalls": "接受状态(Calls)"
|
||||
},
|
||||
"links": {
|
||||
"targetLists": "目标列表"
|
||||
}
|
||||
}
|
||||
@@ -91,7 +91,8 @@
|
||||
"contactRole": {
|
||||
"type": "varchar",
|
||||
"notStorable": true,
|
||||
"disabled": true
|
||||
"disabled": true,
|
||||
"maxLength": 100
|
||||
},
|
||||
"contactIsInactive": {
|
||||
"type": "bool",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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>
|
||||
@@ -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}}
|
||||
@@ -0,0 +1 @@
|
||||
邀请{{{entityTypeLowerFirst}}}'{{{name}}}'
|
||||
@@ -0,0 +1,4 @@
|
||||
<p>Subject: {{name}}</p>
|
||||
<p>Date End: {{dateEnd}}</p>
|
||||
|
||||
<p><a href="{{recordUrl}}">View record</a></p>
|
||||
@@ -0,0 +1,4 @@
|
||||
<p>Subject: {{name}}</p>
|
||||
<p>Start: {{dateStart}}</p>
|
||||
|
||||
<p><a href="{{recordUrl}}">View record</a></p>
|
||||
@@ -0,0 +1 @@
|
||||
提醒一下{{{entityTypeLowerFirst}}}'{{{name}}}'
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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...",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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ų"
|
||||
}
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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ą"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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ą."
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,8 @@
|
||||
"name": "Vardas",
|
||||
"version": "Versija",
|
||||
"description": "Aprašymas",
|
||||
"isInstalled": "Įdiegta"
|
||||
"isInstalled": "Įdiegta",
|
||||
"checkVersionUrl": "Naujų versijų tikrinimo URL"
|
||||
},
|
||||
"labels": {
|
||||
"Uninstall": "Išdiegta",
|
||||
|
||||
@@ -91,7 +91,8 @@
|
||||
"last": "Paskutinis"
|
||||
},
|
||||
"currency": {
|
||||
"converted": "(Konvertuota)"
|
||||
"converted": "(Konvertuota)",
|
||||
"currency": "(Valiuta)"
|
||||
},
|
||||
"datetimeOptional": {
|
||||
"date": "Data"
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"fields": {
|
||||
"enabled": "Įjungta",
|
||||
"clientId": "Kliento ID",
|
||||
"clientSecret": "Kliento užuomina",
|
||||
"redirectUri": "Nukreipti URL",
|
||||
"apiKey": "API raktas"
|
||||
},
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
"serviceName": "Paslauga",
|
||||
"methodName": "Metodas",
|
||||
"scheduledJob": "Suplanuoti darbai",
|
||||
"data": "Duomenys"
|
||||
"data": "Duomenys",
|
||||
"method": "Metodas (nebetinkamas)",
|
||||
"scheduledJobJob": "Numatytas darbo pavadinimas"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
|
||||
@@ -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": {
|
||||
|
||||
41
application/Espo/Resources/i18n/lt_LT/LeadCapture.json
Normal file
41
application/Espo/Resources/i18n/lt_LT/LeadCapture.json
Normal 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."
|
||||
}
|
||||
}
|
||||
@@ -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ė"
|
||||
}
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -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."
|
||||
}
|
||||
}
|
||||
@@ -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."
|
||||
}
|
||||
}
|
||||
@@ -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",
|
||||
|
||||
@@ -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\":",
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user