removed soft_limit setting (#2611)
This commit is contained in:
@@ -69,13 +69,11 @@ kimai:
|
|||||||
# factor: 1.5
|
# factor: 1.5
|
||||||
|
|
||||||
# If you want to limit the max. active entries per user, you can do it here.
|
# If you want to limit the max. active entries per user, you can do it here.
|
||||||
# The soft_limit is used as theme setting and displays a warning color if the user has reached X active recordings
|
|
||||||
# The hard_limit is used to detect how many active records are allowed per user:
|
# The hard_limit is used to detect how many active records are allowed per user:
|
||||||
# - by default a user can only have one active time-record: it is automatically stopped when a new one is started
|
# - by default a user can only have one active time-record: it is automatically stopped when a new one is started
|
||||||
# - when hard_limit is > 1 and the user is trying to start a new entry after reaching the limit, a warning is shown
|
# - when hard_limit is > 1 and the user is trying to start a new entry after reaching the limit, a warning is shown
|
||||||
# and the user has to stop an active entry first
|
# and the user has to stop an active entry first
|
||||||
# active_entries:
|
# active_entries:
|
||||||
# soft_limit: 1
|
|
||||||
# hard_limit: 3
|
# hard_limit: 3
|
||||||
|
|
||||||
# Rules that define timesheet validation and behaviour
|
# Rules that define timesheet validation and behaviour
|
||||||
|
|||||||
@@ -249,7 +249,9 @@ class SystemConfiguration implements SystemBundleConfiguration
|
|||||||
|
|
||||||
public function getTimesheetActiveEntriesSoftLimit(): int
|
public function getTimesheetActiveEntriesSoftLimit(): int
|
||||||
{
|
{
|
||||||
return (int) $this->find('timesheet.active_entries.soft_limit');
|
@trigger_error('The configuration timesheet.active_entries.soft_limit is deprecated since 1.15', E_USER_DEPRECATED);
|
||||||
|
|
||||||
|
return $this->getTimesheetActiveEntriesHardLimit();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getTimesheetDefaultRoundingDays(): string
|
public function getTimesheetDefaultRoundingDays(): string
|
||||||
|
|||||||
@@ -17,15 +17,15 @@ class Constants
|
|||||||
/**
|
/**
|
||||||
* The current release version
|
* The current release version
|
||||||
*/
|
*/
|
||||||
public const VERSION = '1.14.1';
|
public const VERSION = '1.15';
|
||||||
/**
|
/**
|
||||||
* The current release: major * 10000 + minor * 100 + patch
|
* The current release: major * 10000 + minor * 100 + patch
|
||||||
*/
|
*/
|
||||||
public const VERSION_ID = 11401;
|
public const VERSION_ID = 11500;
|
||||||
/**
|
/**
|
||||||
* The current release status, either "stable" or "dev"
|
* The current release status, either "stable" or "dev"
|
||||||
*/
|
*/
|
||||||
public const STATUS = 'stable';
|
public const STATUS = 'dev';
|
||||||
/**
|
/**
|
||||||
* The software name
|
* The software name
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -350,13 +350,6 @@ final class SystemConfigurationController extends AbstractController
|
|||||||
->setConstraints([
|
->setConstraints([
|
||||||
new GreaterThanOrEqual(['value' => 1])
|
new GreaterThanOrEqual(['value' => 1])
|
||||||
]),
|
]),
|
||||||
(new Configuration())
|
|
||||||
->setName('timesheet.active_entries.soft_limit')
|
|
||||||
->setType(IntegerType::class)
|
|
||||||
->setTranslationDomain('system-configuration')
|
|
||||||
->setConstraints([
|
|
||||||
new GreaterThanOrEqual(['value' => 1])
|
|
||||||
]),
|
|
||||||
(new Configuration())
|
(new Configuration())
|
||||||
->setName('timesheet.time_increment')
|
->setName('timesheet.time_increment')
|
||||||
->setType(MinuteIncrementType::class)
|
->setType(MinuteIncrementType::class)
|
||||||
|
|||||||
@@ -199,6 +199,7 @@ class Configuration implements ConfigurationInterface
|
|||||||
->children()
|
->children()
|
||||||
->integerNode('soft_limit')
|
->integerNode('soft_limit')
|
||||||
->defaultValue(1)
|
->defaultValue(1)
|
||||||
|
->setDeprecated('The node "%node%" at path "%path%" is deprecated, please use "kimai.timesheet.active_entries.hard_limit" instead.')
|
||||||
->validate()
|
->validate()
|
||||||
->ifTrue(function ($value) {
|
->ifTrue(function ($value) {
|
||||||
return $value <= 0;
|
return $value <= 0;
|
||||||
|
|||||||
@@ -41,6 +41,8 @@ final class ConfigExtension extends AbstractExtension
|
|||||||
*/
|
*/
|
||||||
public function getThemeConfig(string $name)
|
public function getThemeConfig(string $name)
|
||||||
{
|
{
|
||||||
|
@trigger_error('The twig function "theme_config" was deprecated with 1.15, replace it with the global "kimai_config" variable.', E_USER_DEPRECATED);
|
||||||
|
|
||||||
switch ($name) {
|
switch ($name) {
|
||||||
case 'auto_reload_datatable':
|
case 'auto_reload_datatable':
|
||||||
@trigger_error('The configuration auto_reload_datatable is deprecated and was removed with 1.4', E_USER_DEPRECATED);
|
@trigger_error('The configuration auto_reload_datatable is deprecated and was removed with 1.4', E_USER_DEPRECATED);
|
||||||
@@ -48,7 +50,7 @@ final class ConfigExtension extends AbstractExtension
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
case 'soft_limit':
|
case 'soft_limit':
|
||||||
return $this->configuration->getTimesheetActiveEntriesSoftLimit();
|
return $this->configuration->getTimesheetActiveEntriesHardLimit();
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$name = 'theme.' . $name;
|
$name = 'theme.' . $name;
|
||||||
|
|||||||
@@ -119,11 +119,11 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% block navbar_extensions %}{% endblock %}
|
{% block navbar_extensions %}{% endblock %}
|
||||||
{% set active_timesheets = active_timesheets(app.user) %}
|
{% set active_timesheets = active_timesheets(app.user) %}
|
||||||
{% set soft_limit = theme_config('soft_limit') %}
|
{% set active_limit = kimai_config.timesheetActiveEntriesHardLimit %}
|
||||||
<li class="dropdown messages-menu" style="{% if active_timesheets is empty %}display:none{% endif %}">
|
<li class="dropdown messages-menu" style="{% if active_timesheets is empty %}display:none{% endif %}">
|
||||||
<a href="#" class="dropdown-toggle ddt-large ticktac" data-toggle="dropdown">
|
<a href="#" class="dropdown-toggle ddt-large ticktac" data-toggle="dropdown">
|
||||||
<i class="{{ 'start'|icon }} fa-2x"></i>
|
<i class="{{ 'start'|icon }} fa-2x"></i>
|
||||||
<span data-warning="{{ soft_limit }}" class="label label-{% if active_timesheets|length > soft_limit %}danger{% else %}warning{% endif %}">{% if active_timesheets|length > 0 %}{{ active_timesheets|length }}{% endif %}</span>
|
<span data-warning="{{ active_limit }}" class="label label-{% if active_timesheets|length > active_limit %}danger{% else %}warning{% endif %}">{% if active_timesheets|length > 0 %}{{ active_timesheets|length }}{% endif %}</span>
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu"
|
<ul class="dropdown-menu"
|
||||||
data-api="{{ path('active_timesheet') }}"
|
data-api="{{ path('active_timesheet') }}"
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
<li class="dropdown messages-menu" style="{% if entries is empty %}display:none{% endif %}">
|
|
||||||
<a href="#" class="dropdown-toggle ddt-large ticktac" data-toggle="dropdown">
|
|
||||||
<i class="{{ 'start'|icon }} fa-2x"></i>
|
|
||||||
<span data-warning="{{ soft_limit }}" class="label label-{% if entries|length > soft_limit %}danger{% else %}warning{% endif %}">{% if entries|length > 0 %}{{ entries|length }}{% endif %}</span>
|
|
||||||
</a>
|
|
||||||
<ul class="dropdown-menu"
|
|
||||||
data-api="{{ path('active_timesheet') }}"
|
|
||||||
data-href="{{ path('stop_timesheet', {'id' : '000'}) }}"
|
|
||||||
data-icon="{{ 'stop-small'|icon }}">
|
|
||||||
<li class="header">
|
|
||||||
{{ 'active.entries'|trans }}
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<ul class="menu">
|
|
||||||
{% for entry in entries %}
|
|
||||||
<li>
|
|
||||||
<a href="{{ path('stop_timesheet', {'id' : entry.id}) }}" class="api-link" data-event="kimai.timesheetStop kimai.timesheetUpdate" data-method="PATCH" data-msg-error="timesheet.stop.error" data-msg-success="timesheet.stop.success">
|
|
||||||
<div class="pull-left">
|
|
||||||
<i class="{{ 'stop-small'|icon }} fa-2x"></i>
|
|
||||||
</div>
|
|
||||||
<h4>
|
|
||||||
<span>{{ entry.activity.name }}</span>
|
|
||||||
<small>
|
|
||||||
<span data-title="true" data-since="{{ entry.begin.format(constant('DATE_ISO8601')) }}">{{ entry|duration }}</span>
|
|
||||||
</small>
|
|
||||||
</h4>
|
|
||||||
<p>{{ entry.project.name }} ({{ entry.project.customer.name }})</p>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
{% if is_granted('create_own_timesheet') %}
|
|
||||||
<li class="footer"><a href="{{ path('timesheet_create') }}" class="modal-ajax-form">{{ 'timesheet.start'|trans }}</a></li>
|
|
||||||
{% endif %}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
{% if is_granted('create_own_timesheet') %}
|
|
||||||
<li class="messages-menu-empty" style="{% if entries is not empty %}display:none{% endif %}">
|
|
||||||
<a href="{{ path('timesheet_create') }}" class="ddt-large modal-ajax-form">
|
|
||||||
<i class="{{ 'start'|icon }} fa-2x"></i>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
@@ -117,7 +117,6 @@ class SystemConfigurationTest extends TestCase
|
|||||||
(new Configuration())->setName('timesheet.markdown_content')->setValue('1'),
|
(new Configuration())->setName('timesheet.markdown_content')->setValue('1'),
|
||||||
(new Configuration())->setName('timesheet.default_begin')->setValue('07:00'),
|
(new Configuration())->setName('timesheet.default_begin')->setValue('07:00'),
|
||||||
(new Configuration())->setName('timesheet.active_entries.hard_limit')->setValue('7'),
|
(new Configuration())->setName('timesheet.active_entries.hard_limit')->setValue('7'),
|
||||||
(new Configuration())->setName('timesheet.active_entries.soft_limit')->setValue('3'),
|
|
||||||
(new Configuration())->setName('theme.colors_limited')->setValue(false),
|
(new Configuration())->setName('theme.colors_limited')->setValue(false),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -230,7 +229,7 @@ class SystemConfigurationTest extends TestCase
|
|||||||
{
|
{
|
||||||
$sut = $this->getSut($this->getDefaultSettings(), []);
|
$sut = $this->getSut($this->getDefaultSettings(), []);
|
||||||
$this->assertEquals(99, $sut->getTimesheetActiveEntriesHardLimit());
|
$this->assertEquals(99, $sut->getTimesheetActiveEntriesHardLimit());
|
||||||
$this->assertEquals(15, $sut->getTimesheetActiveEntriesSoftLimit());
|
$this->assertEquals(99, $sut->getTimesheetActiveEntriesSoftLimit());
|
||||||
$this->assertFalse($sut->isTimesheetAllowFutureTimes());
|
$this->assertFalse($sut->isTimesheetAllowFutureTimes());
|
||||||
$this->assertFalse($sut->isTimesheetMarkdownEnabled());
|
$this->assertFalse($sut->isTimesheetMarkdownEnabled());
|
||||||
$this->assertEquals('duration_only', $sut->getTimesheetTrackingMode());
|
$this->assertEquals('duration_only', $sut->getTimesheetTrackingMode());
|
||||||
@@ -254,7 +253,7 @@ class SystemConfigurationTest extends TestCase
|
|||||||
{
|
{
|
||||||
$sut = $this->getSut($this->getDefaultSettings(), $this->getDefaultLoaderSettings());
|
$sut = $this->getSut($this->getDefaultSettings(), $this->getDefaultLoaderSettings());
|
||||||
$this->assertEquals(7, $sut->getTimesheetActiveEntriesHardLimit());
|
$this->assertEquals(7, $sut->getTimesheetActiveEntriesHardLimit());
|
||||||
$this->assertEquals(3, $sut->getTimesheetActiveEntriesSoftLimit());
|
$this->assertEquals(7, $sut->getTimesheetActiveEntriesSoftLimit());
|
||||||
$this->assertTrue($sut->isTimesheetAllowFutureTimes());
|
$this->assertTrue($sut->isTimesheetAllowFutureTimes());
|
||||||
$this->assertTrue($sut->isTimesheetMarkdownEnabled());
|
$this->assertTrue($sut->isTimesheetMarkdownEnabled());
|
||||||
$this->assertEquals('default', $sut->getTimesheetTrackingMode());
|
$this->assertEquals('default', $sut->getTimesheetTrackingMode());
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ class TimesheetConfigurationTest extends TestCase
|
|||||||
'markdown_content' => false,
|
'markdown_content' => false,
|
||||||
'active_entries' => [
|
'active_entries' => [
|
||||||
'hard_limit' => 99,
|
'hard_limit' => 99,
|
||||||
'soft_limit' => 15,
|
|
||||||
],
|
],
|
||||||
'default_begin' => 'now',
|
'default_begin' => 'now',
|
||||||
];
|
];
|
||||||
@@ -64,7 +63,6 @@ class TimesheetConfigurationTest extends TestCase
|
|||||||
(new Configuration())->setName('timesheet.markdown_content')->setValue('1'),
|
(new Configuration())->setName('timesheet.markdown_content')->setValue('1'),
|
||||||
(new Configuration())->setName('timesheet.default_begin')->setValue('07:00'),
|
(new Configuration())->setName('timesheet.default_begin')->setValue('07:00'),
|
||||||
(new Configuration())->setName('timesheet.active_entries.hard_limit')->setValue('7'),
|
(new Configuration())->setName('timesheet.active_entries.hard_limit')->setValue('7'),
|
||||||
(new Configuration())->setName('timesheet.active_entries.soft_limit')->setValue('3'),
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,7 +77,7 @@ class TimesheetConfigurationTest extends TestCase
|
|||||||
$sut = $this->getSut($this->getDefaultSettings(), []);
|
$sut = $this->getSut($this->getDefaultSettings(), []);
|
||||||
|
|
||||||
$this->assertEquals(99, $sut->getActiveEntriesHardLimit());
|
$this->assertEquals(99, $sut->getActiveEntriesHardLimit());
|
||||||
$this->assertEquals(15, $sut->getActiveEntriesSoftLimit());
|
$this->assertEquals(99, $sut->getActiveEntriesSoftLimit());
|
||||||
$this->assertFalse($sut->isAllowFutureTimes());
|
$this->assertFalse($sut->isAllowFutureTimes());
|
||||||
$this->assertFalse($sut->isMarkdownEnabled());
|
$this->assertFalse($sut->isMarkdownEnabled());
|
||||||
$this->assertEquals('duration_only', $sut->getTrackingMode());
|
$this->assertEquals('duration_only', $sut->getTrackingMode());
|
||||||
@@ -100,7 +98,7 @@ class TimesheetConfigurationTest extends TestCase
|
|||||||
{
|
{
|
||||||
$sut = $this->getSut($this->getDefaultSettings(), $this->getDefaultLoaderSettings());
|
$sut = $this->getSut($this->getDefaultSettings(), $this->getDefaultLoaderSettings());
|
||||||
$this->assertEquals(7, $sut->getActiveEntriesHardLimit());
|
$this->assertEquals(7, $sut->getActiveEntriesHardLimit());
|
||||||
$this->assertEquals(3, $sut->getActiveEntriesSoftLimit());
|
$this->assertEquals(7, $sut->getActiveEntriesSoftLimit());
|
||||||
$this->assertTrue($sut->isAllowFutureTimes());
|
$this->assertTrue($sut->isAllowFutureTimes());
|
||||||
$this->assertTrue($sut->isMarkdownEnabled());
|
$this->assertTrue($sut->isMarkdownEnabled());
|
||||||
$this->assertEquals('default', $sut->getTrackingMode());
|
$this->assertEquals('default', $sut->getTrackingMode());
|
||||||
|
|||||||
@@ -93,7 +93,6 @@ class SystemConfigurationControllerTest extends ControllerBaseTest
|
|||||||
$this->assertEquals('default', $configService->find('timesheet.mode'));
|
$this->assertEquals('default', $configService->find('timesheet.mode'));
|
||||||
$this->assertTrue($configService->find('timesheet.rules.allow_future_times'));
|
$this->assertTrue($configService->find('timesheet.rules.allow_future_times'));
|
||||||
$this->assertEquals(1, $configService->find('timesheet.active_entries.hard_limit'));
|
$this->assertEquals(1, $configService->find('timesheet.active_entries.hard_limit'));
|
||||||
$this->assertEquals(1, $configService->find('timesheet.active_entries.soft_limit'));
|
|
||||||
|
|
||||||
$form = $client->getCrawler()->filter('form[name=system_configuration_form_timesheet]')->form();
|
$form = $client->getCrawler()->filter('form[name=system_configuration_form_timesheet]')->form();
|
||||||
$client->submit($form, [
|
$client->submit($form, [
|
||||||
@@ -105,7 +104,6 @@ class SystemConfigurationControllerTest extends ControllerBaseTest
|
|||||||
['name' => 'timesheet.rules.allow_overlapping_records', 'value' => false],
|
['name' => 'timesheet.rules.allow_overlapping_records', 'value' => false],
|
||||||
['name' => 'timesheet.rules.allow_overbooking_budget', 'value' => false],
|
['name' => 'timesheet.rules.allow_overbooking_budget', 'value' => false],
|
||||||
['name' => 'timesheet.active_entries.hard_limit', 'value' => 99],
|
['name' => 'timesheet.active_entries.hard_limit', 'value' => 99],
|
||||||
['name' => 'timesheet.active_entries.soft_limit', 'value' => 77],
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
@@ -120,7 +118,6 @@ class SystemConfigurationControllerTest extends ControllerBaseTest
|
|||||||
$this->assertFalse($configService->find('timesheet.rules.allow_future_times'));
|
$this->assertFalse($configService->find('timesheet.rules.allow_future_times'));
|
||||||
$this->assertFalse($configService->find('timesheet.rules.allow_overlapping_records'));
|
$this->assertFalse($configService->find('timesheet.rules.allow_overlapping_records'));
|
||||||
$this->assertEquals(99, $configService->find('timesheet.active_entries.hard_limit'));
|
$this->assertEquals(99, $configService->find('timesheet.active_entries.hard_limit'));
|
||||||
$this->assertEquals(77, $configService->find('timesheet.active_entries.soft_limit'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUpdateLockdownPeriodConfig()
|
public function testUpdateLockdownPeriodConfig()
|
||||||
@@ -173,14 +170,12 @@ class SystemConfigurationControllerTest extends ControllerBaseTest
|
|||||||
['name' => 'timesheet.rules.allow_overlapping_records', 'value' => 1],
|
['name' => 'timesheet.rules.allow_overlapping_records', 'value' => 1],
|
||||||
['name' => 'timesheet.rules.allow_overbooking_budget', 'value' => 1],
|
['name' => 'timesheet.rules.allow_overbooking_budget', 'value' => 1],
|
||||||
['name' => 'timesheet.active_entries.hard_limit', 'value' => -1],
|
['name' => 'timesheet.active_entries.hard_limit', 'value' => -1],
|
||||||
['name' => 'timesheet.active_entries.soft_limit', 'value' => -1],
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'#system_configuration_form_timesheet_configuration_0_value', // mode
|
'#system_configuration_form_timesheet_configuration_0_value', // mode
|
||||||
'#system_configuration_form_timesheet_configuration_5_value', // hard_limit
|
'#system_configuration_form_timesheet_configuration_5_value', // hard_limit
|
||||||
'#system_configuration_form_timesheet_configuration_6_value', // soft_limit
|
|
||||||
],
|
],
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -376,7 +376,6 @@ class TimesheetControllerTest extends ControllerBaseTest
|
|||||||
['name' => 'timesheet.rules.allow_overlapping_records', 'value' => false],
|
['name' => 'timesheet.rules.allow_overlapping_records', 'value' => false],
|
||||||
['name' => 'timesheet.rules.allow_overbooking_budget', 'value' => true],
|
['name' => 'timesheet.rules.allow_overbooking_budget', 'value' => true],
|
||||||
['name' => 'timesheet.active_entries.hard_limit', 'value' => 1],
|
['name' => 'timesheet.active_entries.hard_limit', 'value' => 1],
|
||||||
['name' => 'timesheet.active_entries.soft_limit', 'value' => 1],
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
namespace App\Tests\EventSubscriber;
|
namespace App\Tests\EventSubscriber;
|
||||||
|
|
||||||
|
use App\Configuration\MailConfiguration;
|
||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
use App\Event\DashboardEvent;
|
use App\Event\DashboardEvent;
|
||||||
use App\Event\EmailEvent;
|
use App\Event\EmailEvent;
|
||||||
@@ -20,6 +21,7 @@ use App\Repository\CustomerRepository;
|
|||||||
use App\Repository\ProjectRepository;
|
use App\Repository\ProjectRepository;
|
||||||
use App\Repository\UserRepository;
|
use App\Repository\UserRepository;
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
use Symfony\Component\Mailer\MailerInterface;
|
||||||
use Symfony\Component\Mime\Email;
|
use Symfony\Component\Mime\Email;
|
||||||
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
||||||
|
|
||||||
@@ -38,9 +40,14 @@ class EmailSubscriberTest extends TestCase
|
|||||||
|
|
||||||
public function testSendIsTriggered()
|
public function testSendIsTriggered()
|
||||||
{
|
{
|
||||||
$mailer = $this->createMock(KimaiMailer::class);
|
$mailer = $this->createMock(MailerInterface::class);
|
||||||
$mailer->expects($this->once())->method('send');
|
$mailer->expects($this->once())->method('send');
|
||||||
|
|
||||||
|
$mailer = new KimaiMailer(
|
||||||
|
new MailConfiguration('test@example.com'),
|
||||||
|
$mailer
|
||||||
|
);
|
||||||
|
|
||||||
$sut = new EmailSubscriber($mailer);
|
$sut = new EmailSubscriber($mailer);
|
||||||
|
|
||||||
$event = new EmailEvent(new Email());
|
$event = new EmailEvent(new Email());
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Povolený počet současně spuštěných položek v jednu dobu</target>
|
<target>Povolený počet současně spuštěných položek v jednu dobu</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Počet záznamů o době provozu, z nichž se zobrazí varování</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.calendar.week_numbers">
|
<trans-unit id="label.calendar.week_numbers">
|
||||||
<source>label.calendar.week_numbers</source>
|
<source>label.calendar.week_numbers</source>
|
||||||
<target>Zobrazit čísla týdnů</target>
|
<target>Zobrazit čísla týdnů</target>
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Tilladt antal af samtidigt kørende tidsregistreringer</target>
|
<target>Tilladt antal af samtidigt kørende tidsregistreringer</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Antal af kørende tidsregistreringer fra hvilket en advarsel vises</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Minimum antal af bogstaver for at starte autofulførelse</target>
|
<target>Minimum antal af bogstaver for at starte autofulførelse</target>
|
||||||
|
|||||||
@@ -98,10 +98,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Erlaubte Anzahl an gleichzeitig laufenden Zeiteinträgen</target>
|
<target>Erlaubte Anzahl an gleichzeitig laufenden Zeiteinträgen</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Anzahl an laufenden Zeiteinträgen ab denen einen Warnung angezeigt wird</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Minimale Anzahl Buchstaben für den Start der Autovervollständigung</target>
|
<target>Minimale Anzahl Buchstaben für den Start der Autovervollständigung</target>
|
||||||
|
|||||||
@@ -90,10 +90,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Επιτρεπόμενος αριθμός ταυτόχρονων ενεργών καταχωρήσεων ωρών</target>
|
<target>Επιτρεπόμενος αριθμός ταυτόχρονων ενεργών καταχωρήσεων ωρών</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Πλήθος των ενεργών καταχωρήσεων ωρών, όπου ειδοποιήσεις θα εμφανίζονται</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Ελάχιστος αριθμός γραμμάτων για έναρξη αυτόματης συμπλήρωσης</target>
|
<target>Ελάχιστος αριθμός γραμμάτων για έναρξη αυτόματης συμπλήρωσης</target>
|
||||||
|
|||||||
@@ -98,10 +98,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Permitted number of simultaneously running time entries</target>
|
<target>Permitted number of simultaneously running time entries</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Number of running time entries from which a warning is displayed</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Minimum number of letters to start auto-completion</target>
|
<target>Minimum number of letters to start auto-completion</target>
|
||||||
|
|||||||
@@ -70,10 +70,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Permesita nombro de samtempaj ŝaltitaj tempaj registraĵoj</target>
|
<target>Permesita nombro de samtempaj ŝaltitaj tempaj registraĵoj</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Nombro de samtempaj ŝaltitaj tempaj registraĵoj de kiuj atentigo estas montrita</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Minimuma nombro de literoj por komenci aŭtomatan kompletigon</target>
|
<target>Minimuma nombro de literoj por komenci aŭtomatan kompletigon</target>
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Número máximo de registros activos simultáneos permitidos</target>
|
<target>Número máximo de registros activos simultáneos permitidos</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Número de registros activos simultáneos para que se muestre una advertencia</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Número mínimo de letras para iniciar la compleción automática</target>
|
<target>Número mínimo de letras para iniciar la compleción automática</target>
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Gehinezko sarrera kopurua aldi berean</target>
|
<target>Gehinezko sarrera kopurua aldi berean</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Aldibereko gehinezko sarrera kopurua oharra bota aurretik</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.select_type">
|
<trans-unit id="label.theme.select_type">
|
||||||
<source>label.theme.select_type</source>
|
<source>label.theme.select_type</source>
|
||||||
<target>Formulariotako aukeraketa kutxa mota</target>
|
<target>Formulariotako aukeraketa kutxa mota</target>
|
||||||
|
|||||||
@@ -86,10 +86,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target state="translated">Sallittu määrä samanaikaisesti suoritettavia aikamerkintöjä</target>
|
<target state="translated">Sallittu määrä samanaikaisesti suoritettavia aikamerkintöjä</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target state="translated">Aikamerkintöjen määrä joista näytetään varoitus</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target state="translated">Minimi määrä kirjaimia ennen automaattisen täyttämisen aloitusta</target>
|
<target state="translated">Minimi määrä kirjaimia ennen automaattisen täyttämisen aloitusta</target>
|
||||||
|
|||||||
@@ -54,10 +54,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Nombre autorisé de relevés d'activité simultanées</target>
|
<target>Nombre autorisé de relevés d'activité simultanées</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Nombre de relevés de temps d'activité à partir duquel un message d'avertissement est affiché</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.calendar.week_numbers">
|
<trans-unit id="label.calendar.week_numbers">
|
||||||
<source>label.calendar.week_numbers</source>
|
<source>label.calendar.week_numbers</source>
|
||||||
<target>Afficher les numéros de semaine</target>
|
<target>Afficher les numéros de semaine</target>
|
||||||
|
|||||||
@@ -73,10 +73,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>כמות מותרת לרשומות זמן פעילות במקביל</target>
|
<target>כמות מותרת לרשומות זמן פעילות במקביל</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>מספר רשומות זמן פעילות במקביל להצגת אזהרה</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>מספר תווים מינימלי כדי להתחיל השלמה אוטומטית</target>
|
<target>מספר תווים מינימלי כדי להתחיל השלמה אוטומטית</target>
|
||||||
|
|||||||
@@ -30,10 +30,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Egyszerre futtatható rögzítések száma</target>
|
<target>Egyszerre futtatható rögzítések száma</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Figyelmeztetés megjelenítése ennyi rögzítés elérésekor</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="form_user">
|
<trans-unit id="form_user">
|
||||||
<source>form_user</source>
|
<source>form_user</source>
|
||||||
<target>Felhasználó—alapértelmezett értékek</target>
|
<target>Felhasználó—alapértelmezett értékek</target>
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Numero di attività simultanee permesse</target>
|
<target>Numero di attività simultanee permesse</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Numero di attività in corso per cui visualizzare un avvertimento</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Numero minimo di caratteri per iniziare l'autocompletamento</target>
|
<target>Numero minimo di caratteri per iniziare l'autocompletamento</target>
|
||||||
|
|||||||
@@ -58,10 +58,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>同じ期間内に同時進行のものとして記録可能とする明細の上限数</target>
|
<target>同じ期間内に同時進行のものとして記録可能とする明細の上限数</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>同時進行の明細記録がこちらの数を超える場合に警告を表示する</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.calendar.week_numbers">
|
<trans-unit id="label.calendar.week_numbers">
|
||||||
<source>label.calendar.week_numbers</source>
|
<source>label.calendar.week_numbers</source>
|
||||||
<target>週番号を表示する</target>
|
<target>週番号を表示する</target>
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target state="translated">허용되는 동시 실행 시간 항목 수</target>
|
<target state="translated">허용되는 동시 실행 시간 항목 수</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target state="translated">경고가 표시되는 실행 시간 항목 수</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.calendar.week_numbers">
|
<trans-unit id="label.calendar.week_numbers">
|
||||||
<source>label.calendar.week_numbers</source>
|
<source>label.calendar.week_numbers</source>
|
||||||
<target state="translated">주수 디스프레이</target>
|
<target state="translated">주수 디스프레이</target>
|
||||||
|
|||||||
@@ -86,10 +86,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Toegestane aantal gelijktijdige tijdregistratie opnames</target>
|
<target>Toegestane aantal gelijktijdige tijdregistratie opnames</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Aantal gelijktijdige tijdregistratie opnames wanneer een waarschuwing wordt weergegeven</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Minimum aantal letters om de auto-completion te starten</target>
|
<target>Minimum aantal letters om de auto-completion te starten</target>
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Dozwolona maksymalna ilość jednoczesnych czynności (pomiarów)</target>
|
<target>Dozwolona maksymalna ilość jednoczesnych czynności (pomiarów)</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Ilość jednoczesnych czynności (pomiarów) po której zostanie wyświetlone ostrzeżenie</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Minimalna ilość liter do auto-uzupełniania</target>
|
<target>Minimalna ilość liter do auto-uzupełniania</target>
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Quantidade permitida de entradas de tempo de execução simultâneas</target>
|
<target>Quantidade permitida de entradas de tempo de execução simultâneas</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Quantidade de entradas de tempo de execução a partir das quais um aviso é exibido</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.calendar.week_numbers">
|
<trans-unit id="label.calendar.week_numbers">
|
||||||
<source>label.calendar.week_numbers</source>
|
<source>label.calendar.week_numbers</source>
|
||||||
<target>Mostrar números de semanas</target>
|
<target>Mostrar números de semanas</target>
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Número permitido de entradas de tempo de execução simultâneas</target>
|
<target>Número permitido de entradas de tempo de execução simultâneas</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Número de entradas de tempo de execução a partir das quais um aviso é exibido</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.calendar.week_numbers">
|
<trans-unit id="label.calendar.week_numbers">
|
||||||
<source>label.calendar.week_numbers</source>
|
<source>label.calendar.week_numbers</source>
|
||||||
<target>Mostrar números de semanas</target>
|
<target>Mostrar números de semanas</target>
|
||||||
|
|||||||
@@ -69,10 +69,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Numarul permis de inregistrari care ruleaza simultan</target>
|
<target>Numarul permis de inregistrari care ruleaza simultan</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Numarul inregistrarilor active simultan pentru care este afisat un avertisment</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Numarul minim de litere pentru care incepe auto-completarea</target>
|
<target>Numarul minim de litere pentru care incepe auto-completarea</target>
|
||||||
|
|||||||
@@ -74,10 +74,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Разрешенное количество одновременно запущенных таймеров</target>
|
<target>Разрешенное количество одновременно запущенных таймеров</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Количество запущенных таймеров, после которого отображается предупреждение</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Минимальное количество букв для старта автозавершения</target>
|
<target>Минимальное количество букв для старта автозавершения</target>
|
||||||
|
|||||||
@@ -42,10 +42,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Povolený počet súčasne prebiehajúcich časových záznamov</target>
|
<target>Povolený počet súčasne prebiehajúcich časových záznamov</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Počet spustených časových záznamov, po ktorých sa zobrazí upozornenie</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="Closest">
|
<trans-unit id="Closest">
|
||||||
<source>Closest</source>
|
<source>Closest</source>
|
||||||
<target>Najbližšie: matematické zaokrúhľovanie k najbližšej hodnote</target>
|
<target>Najbližšie: matematické zaokrúhľovanie k najbližšej hodnote</target>
|
||||||
|
|||||||
@@ -58,10 +58,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target state="translated">Tillåtet antal aktiva tidsinspelningar</target>
|
<target state="translated">Tillåtet antal aktiva tidsinspelningar</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target state="translated">Antal aktiva tidsinspelningar då en varning ska visas</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.calendar.week_numbers">
|
<trans-unit id="label.calendar.week_numbers">
|
||||||
<source>label.calendar.week_numbers</source>
|
<source>label.calendar.week_numbers</source>
|
||||||
<target state="translated">Visa veckonummer</target>
|
<target state="translated">Visa veckonummer</target>
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target state="translated">İzin verilen eşzamanlı zaman kaydı sayısı</target>
|
<target state="translated">İzin verilen eşzamanlı zaman kaydı sayısı</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target state="translated">Bir uyarı görüntülenmeden önce çalışan zaman çizelgesi kayıtlarının sayısı</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target state="translated">Otomatik tamamlama için gerekli en az harf adedi</target>
|
<target state="translated">Otomatik tamamlama için gerekli en az harf adedi</target>
|
||||||
|
|||||||
@@ -70,10 +70,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>Số lượng cho phép của các mục thời gian chạy đồng thời</target>
|
<target>Số lượng cho phép của các mục thời gian chạy đồng thời</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>Số mục thời gian chạy mà cảnh báo được hiển thị</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>Số lượng chữ cái tối thiểu để bắt đầu tự động hoàn thành</target>
|
<target>Số lượng chữ cái tối thiểu để bắt đầu tự động hoàn thành</target>
|
||||||
|
|||||||
@@ -62,10 +62,6 @@
|
|||||||
<source>label.timesheet.active_entries.hard_limit</source>
|
<source>label.timesheet.active_entries.hard_limit</source>
|
||||||
<target>允许可同时运行的时间条目数量</target>
|
<target>允许可同时运行的时间条目数量</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="label.timesheet.active_entries.soft_limit">
|
|
||||||
<source>label.timesheet.active_entries.soft_limit</source>
|
|
||||||
<target>展示警告信息的运行时间条目数量</target>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="label.theme.autocomplete_chars">
|
<trans-unit id="label.theme.autocomplete_chars">
|
||||||
<source>label.theme.autocomplete_chars</source>
|
<source>label.theme.autocomplete_chars</source>
|
||||||
<target>开启自动完成需达到的最少字母数</target>
|
<target>开启自动完成需达到的最少字母数</target>
|
||||||
|
|||||||
Reference in New Issue
Block a user