Maintenance: Apply source string review changes.

This commit is contained in:
Martin Gruner 2021-12-15 22:00:53 +01:00
parent 80e76fc43d
commit 0ccdfb398e
81 changed files with 242 additions and 235 deletions

View file

@ -69,7 +69,7 @@ class ChannelChat extends App.ControllerSubContent
name: 'fontSize'
default: 'undefined'
type: 'String'
description: __('CSS font-size with a unit like 12px, 1.5em. If left to undefined it inherits the font-size of the website.')
description: __('CSS font-size with a unit like 12px, 1.5em. If left undefined it inherits the font-size of the website.')
}
{
name: 'flat'

View file

@ -219,7 +219,7 @@ class ChannelAccountOverview extends App.ControllerSubContent
error: (data) =>
@notify
type: 'error'
msg: __('Failed to rollback migration of the channel!')
msg: __('Failed to roll back the migration of the channel!')
)
groupChange: (e) =>

View file

@ -210,7 +210,7 @@ class ChannelAccountOverview extends App.ControllerSubContent
error: (data) =>
@notify
type: 'error'
msg: __('Failed to rollback migration of the channel!')
msg: __('Failed to roll back the migration of the channel!')
)
groupChange: (e) =>

View file

@ -54,7 +54,7 @@ App.Config.set(
{
name: __('Checkmk')
target: '#system/integration/check_mk'
description: __('An open source monitoring tool.')
description: __('An open-source monitoring tool.')
controller: CheckMk
state: State
permission: ['admin.integration.check_mk']

View file

@ -4,7 +4,7 @@ class Cti extends App.ControllerIntegrationBase
featureConfig: 'cti_config'
description: [
[__('This service shows you contacts of incoming calls and a caller list in realtime.')]
[__('Also caller id of outbound calls can be changed.')]
[__('Caller ID of outbound calls can be changed as well.')]
]
events:
'click .js-select': 'selectAll'
@ -135,7 +135,7 @@ class Form extends App.Controller
}
)
# blocked caller ids
# blocked caller IDs
config.inbound.block_caller_ids = []
@$('.js-inboundBlockCallerId .js-row').each(->
caller_id = $(@).find('input[name="caller_id"]').val()

View file

@ -23,7 +23,7 @@ App.Config.set(
{
name: __('Icinga')
target: '#system/integration/icinga'
description: __('An open source monitoring tool.')
description: __('An open-source monitoring tool.')
controller: Icinga
state: State
permission: ['admin.integration.icinga']

View file

@ -23,7 +23,7 @@ App.Config.set(
{
name: __('Monit')
target: '#system/integration/monit'
description: __('An open source monitoring tool.')
description: __('An open-source monitoring tool.')
controller: Monit
state: State
permission: ['admin.integration.monit']

View file

@ -23,7 +23,7 @@ App.Config.set(
{
name: __('Nagios')
target: '#system/integration/nagios'
description: __('An open source monitoring tool.')
description: __('An open-source monitoring tool.')
controller: Nagios
state: State
}

View file

@ -4,7 +4,7 @@ class Placetel extends App.ControllerIntegrationBase
featureConfig: 'placetel_config'
description: [
[__('This service shows you contacts of incoming calls and a caller list in realtime.')]
[__('Also caller id of outbound calls can be changed.')]
[__('Caller ID of outbound calls can be changed as well.')]
]
events:
'click .js-select': 'selectAll'
@ -111,7 +111,7 @@ class Form extends App.Controller
}
)
# blocked caller ids
# blocked caller IDs
config.inbound.block_caller_ids = []
@$('.js-inboundBlockCallerId .js-row').each(->
caller_id = $(@).find('input[name="caller_id"]').val()

View file

@ -4,7 +4,7 @@ class SipgateIo extends App.ControllerIntegrationBase
featureConfig: 'sipgate_config'
description: [
[__('This service shows you contacts of incoming calls and a caller list in realtime.')]
[__('Also caller id of outbound calls can be changed.')]
[__('Caller ID of outbound calls can be changed as well.')]
]
events:
'click .js-select': 'selectAll'
@ -108,7 +108,7 @@ class Form extends App.Controller
}
)
# blocked caller ids
# blocked caller IDs
config.inbound.block_caller_ids = []
@$('.js-inboundBlockCallerId .js-row').each(->
caller_id = $(@).find('input[name="caller_id"]').val()

View file

@ -22,7 +22,7 @@ class App.SettingTicketAutoAssignment extends App.ControllerSubContent
@html(App.view('settings/ticket_auto_assignment')())
configure_attributes = [
{ name: 'condition', display: __('Conditions for effected objects'), tag: 'ticket_selector', null: false, preview: false, action: false, hasChanged: false, article: false },
{ name: 'condition', display: __('Conditions for affected objects'), tag: 'ticket_selector', null: false, preview: false, action: false, hasChanged: false, article: false },
]
ticket_auto_assignment_selector = App.Setting.get('ticket_auto_assignment_selector')

View file

@ -96,7 +96,7 @@ class SessionTimeout extends App.Controller
@warningDialog = new App.ControllerModal(
head: __('Session')
message: __('Due to inactivity are automatically logged out within the next 30 seconds.')
message: __('Due to inactivity, you will be automatically logged out within the next 30 seconds.')
keyboard: true
backdrop: true
buttonClose: true

View file

@ -37,7 +37,7 @@ class ProfilePassword extends App.ControllerSubContent
@$('[name=password_new_confirm]').val('')
@notify
type: 'error'
msg: __('Can\'t update password, your new passwords do not match. Please try again!')
msg: __('Can\'t update password, your entered passwords do not match. Please try again!')
removeAll: true
return
if !params['password_new']

View file

@ -60,7 +60,7 @@ class App.UiElement.holiday_selector
# check if entry already exists
exists = item.find("[data-date=#{date}]").get(0)
if exists
alert(App.i18n.translateInline('Aready exists!'))
alert(App.i18n.translateInline('This entry already exists!'))
return
# reset form input

View file

@ -244,7 +244,7 @@ class App.UiElement.object_manager_attribute extends App.UiElement.ApplicationUi
params: params
)
configureAttributes = [
{ name: 'data_option::diff', display: __('Default time Diff (minutes)'), tag: 'integer', null: true },
{ name: 'data_option::diff', display: __('Default time diff (minutes)'), tag: 'integer', null: true },
]
datetimeDiff = new App.ControllerForm(
model:
@ -258,7 +258,7 @@ class App.UiElement.object_manager_attribute extends App.UiElement.ApplicationUi
@date: (item, localParams, params) ->
configureAttributes = [
{ name: 'data_option::diff', display: __('Default time Diff (hours)'), tag: 'integer', null: true },
{ name: 'data_option::diff', display: __('Default time diff (hours)'), tag: 'integer', null: true },
]
dateDiff = new App.ControllerForm(
model:

View file

@ -15,11 +15,11 @@ class App.UiElement.postmaster_match
},
{
value: 'cc'
name: __('Cc')
name: __('CC')
},
{
value: 'x-any-recipient'
name: __('Any Recipient')
name: __('Any recipient')
},
{
value: 'subject'

View file

@ -362,10 +362,10 @@ class App.UiElement.ticket_perform_action
elementRow.find('.js-setNotification').empty()
options =
'article_last_sender': __('Article Last Sender')
'article_last_sender': __('Sender of last article')
'ticket_owner': __('Owner')
'ticket_customer': __('Customer')
'ticket_agents': __('All Agents')
'ticket_agents': __('All agents')
name = "#{attribute.name}::notification.#{notificationType}"

View file

@ -24,5 +24,5 @@ class App.UiElement.timezone extends App.UiElement.ApplicationUiElement
@selectedOptions(attribute, params)
attribute.tag = 'searchable_select'
attribute.placeholder = App.i18n.translateInline('Enter timezone...')
attribute.placeholder = App.i18n.translateInline('Enter time zone')
App.UiElement.searchable_select.render(attribute)

View file

@ -316,7 +316,7 @@ class App.TicketCreate extends App.Controller
App.Ticket.configure_attributes.push {
name: 'cc'
display: __('Cc')
display: __('CC')
tag: 'input'
type: 'text'
maxlength: 1000

View file

@ -368,7 +368,7 @@ class App.CustomerChat extends App.Controller
@switch(false)
@notify(
type: 'notice'
msg: App.i18n.translateContent('Chat not answered, set to offline automatically.')
msg: App.i18n.translateContent('Chat not answered, automatically set to offline.')
)
@idleTimeoutId = @delay(switchOff, @idleTimeout * 1000)

View file

@ -71,7 +71,7 @@ class App.KnowledgeBaseContentController extends App.Controller
@rerenderIfConfirmed()
rerenderIfConfirmed: ->
text = App.i18n.translatePlain('Changes were made. Do you want to reload? You\'ll loose your changes')
text = App.i18n.translatePlain('Are you sure you want to reload? You have unsaved changes that will get lost')
if confirm(text)
@render()

View file

@ -110,7 +110,7 @@ class App.KnowledgeBaseSidebarAttachments extends App.Controller
class DeleteConfirm extends App.ControllerConfirm
content: ->
sentence = App.i18n.translateContent('Are you sure to delete')
sentence = App.i18n.translateContent('Are you sure you want to delete')
"#{sentence} #{@attachment.filename}?"
buttonSubmit: __('delete')
onSubmit: ->

View file

@ -20,7 +20,7 @@ class Login extends App.ControllerFullPage
data = {}
if window.location.hash is '#session_timeout'
data = {
errorMessage: App.i18n.translateContent('Due to inactivity you are automatically logged out.')
errorMessage: App.i18n.translateContent('Due to inactivity, you have been automatically logged out.')
}
@title __('Sign in')

View file

@ -69,7 +69,7 @@ class PasswordResetVerify extends App.ControllerFullPage
@$('[name=password_confirm]').val('')
@notify(
type: 'error'
msg: __('Can\'t update password, your new passwords do not match. Please try again!')
msg: __('Can\'t update password, your entered passwords do not match. Please try again!')
removeAll: true
)
return

View file

@ -326,7 +326,7 @@ class ArticleViewItem extends App.ControllerObserver
if data.encryption.success
@notify
type: 'success'
msg: App.i18n.translateContent('Decryption success!')
msg: App.i18n.translateContent('Decryption successful!')
else if data.encryption.comment
comment = App.i18n.translateContent('Decryption failed!') + ' ' + App.i18n.translateContent(data.encryption.comment || '')
@notify

View file

@ -103,7 +103,7 @@ class TimeAccounting extends App.ControllerSubContent
)
configure_attributes = [
{ name: 'condition', display: __('Conditions for effected objects'), tag: 'ticket_selector', null: false, preview: false, action: false, hasChanged: false },
{ name: 'condition', display: __('Conditions for affected objects'), tag: 'ticket_selector', null: false, preview: false, action: false, hasChanged: false },
]
filter_params = App.Setting.get('time_accounting_selector')

View file

@ -122,7 +122,7 @@ class ActionRow extends App.ControllerObserverActionRow
error: (data, status, xhr) =>
@notify
type: 'error'
msg: App.i18n.translateContent('Failed to sent Email "%s". Please contact an administrator.', user.email)
msg: App.i18n.translateContent('Failed to send email to "%s". Please contact an administrator.', user.email)
removeAll: true
)

View file

@ -74,7 +74,7 @@ window.word_filter = function(editor){
}
})
// style and align is handled by utils.coffee it self, don't clean it here
// style and align is handled by utils.coffee itself, don't clean it here
//$('[style]', editor).removeAttr('style');
//$('[align]', editor).removeAttr('align');
$('span', editor).replaceWith(function() {return $(this).contents();});

View file

@ -201,7 +201,7 @@ set new attributes of model (remove already available attributes)
},
'assignment_timeout': {
name: 'assignment_timeout'
display: __('Assignment Timeout')
display: __('Assignment timeout')
tag: 'input'
type: 'text'
limit: 100
@ -696,7 +696,7 @@ set new attributes of model (remove already available attributes)
# lookup relations
if attribute.relation
# relations - not calling object it self, to prevent loops
# relations - not calling object itself, to prevent loops
if !_.contains(classNames, @className)
# only if relation model exists

View file

@ -5,9 +5,9 @@ class App.Group extends App.Model
@configure_attributes = [
{ name: 'name', display: __('Name'), tag: 'input', type: 'text', limit: 100, null: false },
{ name: 'assignment_timeout', display: __('Assignment Timeout'), tag: 'input', note: __('Assignment timeout in minutes if assigned agent is not working on it. Ticket will be shown as unassigend.'), type: 'text', limit: 100, null: true },
{ name: 'assignment_timeout', display: __('Assignment timeout'), tag: 'input', note: __('Assignment timeout in minutes if assigned agent is not working on it. Ticket will be shown as unassigend.'), type: 'text', limit: 100, null: true },
{ name: 'follow_up_possible', display: __('Follow-up possible'),tag: 'select', default: 'yes', options: { yes: 'yes', 'new_ticket': 'do not reopen Ticket but create new Ticket' }, null: false, note: __('Follow-up for closed ticket possible or not.'), translate: true },
{ name: 'follow_up_assignment', display: __('Assign Follow-Ups'), tag: 'select', default: 'yes', options: { true: 'yes', false: 'no' }, null: false, note: __('Assign follow-up to latest agent again.'), translate: true },
{ name: 'follow_up_assignment', display: __('Assign follow-ups'), tag: 'select', default: 'yes', options: { true: 'yes', false: 'no' }, null: false, note: __('Assign follow-up to latest agent again.'), translate: true },
{ name: 'email_address_id', display: __('Email'), tag: 'select', multiple: false, null: true, relation: 'EmailAddress', nulloption: true, do_not_log: true },
{ name: 'signature_id', display: __('Signature'), tag: 'select', multiple: false, null: true, relation: 'Signature', nulloption: true, do_not_log: true },
{ name: 'note', display: __('Note'), tag: 'textarea', note: __('Notes are visible to agents only, never to customers.'), limit: 250, null: true },

View file

@ -5,7 +5,7 @@ class App.Job extends App.Model
@configure_attributes = [
{ name: 'name', display: __('Name'), tag: 'input', type: 'text', limit: 100, null: false },
{ name: 'timeplan', display: __('When should the job run?'), tag: 'timer', null: true },
{ name: 'condition', display: __('Conditions for effected objects'), tag: 'ticket_selector', null: true, executionTime: true, noCurrentUser: true },
{ name: 'condition', display: __('Conditions for affected objects'), tag: 'ticket_selector', null: true, executionTime: true, noCurrentUser: true },
{ name: 'perform', display: __('Execute changes on objects'), tag: 'ticket_perform_action', null: true, notification: true, ticket_delete: true },
{ name: 'disable_notification', display: __('Disable Notifications'), tag: 'boolean', default: true },
{ name: 'note', display: __('Note'), tag: 'textarea', note: __('Notes are visible to agents only, never to customers.'), limit: 250, null: true },

View file

@ -209,7 +209,7 @@ class App.KnowledgeBase extends App.Model
display: __('Icon Set')
tag: 'iconset_picker'
style: 'block'
help: __('Every category in your knowledge base should be given a unique icon for maximum visual clarity. Each set below provides a wide range of icons to choose from, but beware-you can\'t mix and match different icons from different sets. Choose carefully!')
help: __('Every category in your knowledge base should be given a unique icon for maximum visual clarity. Each set below provides a wide range of icons to choose from, but beware: You can\'t mix and match different icons from different sets. Choose carefully!')
null: false
screen:
admin_style_iconset:

View file

@ -4,7 +4,7 @@ class App.Organization extends App.Model
@url: @apiPath + '/organizations'
@configure_attributes = [
{ name: 'name', display: __('Name'), tag: 'input', type: 'text', limit: 100, null: false, info: true },
{ name: 'shared', display: __('Shared organization'), tag: 'boolean', note: __('Customers in the organization can view each other items.'), type: 'boolean', default: true, null: false, info: false },
{ name: 'shared', display: __('Shared organization'), tag: 'boolean', note: __("Customers in the organization can view each other's items."), type: 'boolean', default: true, null: false, info: false },
{ name: 'created_by_id', display: __('Created by'), relation: 'User', readonly: 1, info: false },
{ name: 'created_at', display: __('Created at'), tag: 'datetime', readonly: 1, info: false },
{ name: 'updated_by_id', display: __('Updated by'), relation: 'User', readonly: 1, info: false },

View file

@ -38,25 +38,24 @@ class App.TextModule extends App.Model
# coffeelint: disable=no_interpolation_in_single_quotes
@description = __('''
Create Text Modules to **spend less time writing responses**. Text Modules can include smart variables like the users name or email address.
Create Text Modules to **spend less time writing responses**. Text Modules can include smart variables like the user's name or email address.
Examples of snippets are:
* Hello Mrs. #{ticket.customer.lastname},
* Hello Mr. #{ticket.customer.lastname},
* Hello #{ticket.customer.firstname},
* My Name is #{user.firstname},
* My name is #{user.firstname},
Of course you can also use multi line snippets.
Of course, you can also use multi-line snippets.
Available objects are:
* ticket (e. g. ticket.state, ticket.group)
* ticket.customer (e. g. ticket.customer.firstname, ticket.customer.lastname)
* ticket.owner (e. g. ticket.owner.firstname, ticket.owner.lastname)
* ticket.organization (e. g. ticket.organization.name)
* user (e. g. user.firstname, user.email)
* ticket (e.g. ticket.state, ticket.group)
* ticket.customer (e.g. ticket.customer.firstname, ticket.customer.lastname)
* ticket.owner (e.g. ticket.owner.firstname, ticket.owner.lastname)
* ticket.organization (e.g. ticket.organization.name)
* user (e.g. user.firstname, user.email)
To select placeholders from a list, just enter "::".
''')
# coffeelint: enable=no_interpolation_in_single_quotes

View file

@ -6,7 +6,7 @@ class App.TicketArticle extends App.Model
{ name: 'ticket_id', display: __('TicketID'), null: false, readonly: 1, searchable: false },
{ name: 'from', display: __('From'), tag: 'input', type: 'text', limit: 100, null: false },
{ name: 'to', display: __('To'), tag: 'input', type: 'text', limit: 100, null: true },
{ name: 'cc', display: __('Cc'), tag: 'input', type: 'text', limit: 100, null: true },
{ name: 'cc', display: __('CC'), tag: 'input', type: 'text', limit: 100, null: true },
{ name: 'subject', display: __('Subject'), tag: 'input', type: 'text', limit: 100, null: true },
{ name: 'body', display: __('Text'), tag: 'textarea', rows: 5, limit: 100, null: false, searchable: true },
{ name: 'type_id', display: __('Type'), tag: 'select', multiple: false, null: false, relation: 'TicketArticleType', default: '' },

View file

@ -4,7 +4,7 @@ class App.Trigger extends App.Model
@url: @apiPath + '/triggers'
@configure_attributes = [
{ name: 'name', display: __('Name'), tag: 'input', type: 'text', limit: 100, null: false },
{ name: 'condition', display: __('Conditions for effected objects'), tag: 'ticket_selector', null: false, preview: false, action: true, hasChanged: true, executionTime: true },
{ name: 'condition', display: __('Conditions for affected objects'), tag: 'ticket_selector', null: false, preview: false, action: true, hasChanged: true, executionTime: true },
{ name: 'perform', display: __('Execute changes on objects'), tag: 'ticket_perform_action', null: true, notification: true, trigger: true },
{ name: 'active', display: __('Active'), tag: 'active', default: true },
{ name: 'updated_at', display: __('Updated'), tag: 'datetime', readonly: 1 },

View file

@ -33,7 +33,7 @@
<div class="vertical flex">
<table style="width: 100%;">
<tr>
<td style="width: 25%;"><label><%- @T('Erstellt') %></label></td><td> <%- @P(ticket, 'created_at') %></td>
<td style="width: 25%;"><label><%- @T('Created') %></label></td><td> <%- @P(ticket, 'created_at') %></td>
</tr>
<tr>
<td><label><%- @T('Priority') %></label></td><td> <%- @P(ticket, 'priority') %></td>

View file

@ -12,7 +12,7 @@
<h2><%- @T('Token Access') %> (HTTP Token Authentication)</h2>
</div>
<p><%- @T('Enable REST API using tokens (not username/email address and password). Each user needs to create own access tokens in user profile.') %></p>
<p><%- @T('Enable REST API using tokens (not username/email address and password). All users need to create their own access tokens in the user profile.') %></p>
<p><%- @T('Example') %>:</p>

View file

@ -141,7 +141,7 @@
<p><%- @T("Zammad Chat requires jQuery. If you don't already use it on your website include it like this:") %></p>
<pre><code class="language-html js-code">&lt;script src="https://code.jquery.com/jquery-3.6.0.min.js"&gt;&lt;/script&gt;</code></pre>
<h3><%- @T('Automatically show chat') %> (<%- @T('default') %>)</h3>
<h3><%- @T('Show chat automatically') %> (<%- @T('default') %>)</h3>
<p><%- @T('The chat will show up once the connection to the server got established and if there is someone online to chat with.') %></p>
<pre><code class="language-html js-code">&lt;script src="<%= @baseurl %>/assets/chat/chat.min.js"&gt;&lt;/script&gt;

View file

@ -10,10 +10,10 @@
<h2><%- @T('Activity Stream') %></h2>
<div class="activity-description">
<p><%- @T('Here you will find the latest activities of your system.') %></p>
<p><%- @T('E. g. recent changed tickets, users or organizations.') %></p>
<p><%- @T('For example, recently changed tickets, users, or organizations.') %></p>
</div>
<div class="activity-entries js-activityContent">
<p><%- @T('Here you will find the latest activities of your system.') %></p>
<p><%- @T('E. g. recent changed tickets, users or organizations.') %></p>
<p><%- @T('For example, recently changed tickets, users, or organizations.') %></p>
</div>
</div>

View file

@ -2,7 +2,7 @@
<fieldset>
<h1><%- @T('Pages') %></h1>
<p class="description"><%- @T('Choose the group in which page postings will get added to.') %></p>
<p class="description"><%- @T('Choose the Group to which page posts will get added.') %></p>
<div class="js-pages">
<% if @channel.options.pages: %>
<% for page in @channel.options.pages: %>

View file

@ -36,7 +36,7 @@
<a class="js-freshdeskUrlApiToken" href="https://support.freshdesk.com/support/solutions/articles/215517-how-to-find-your-api-key" target="_blank"><%- @T('Enter your %s API token gained from your account profile settings.', 'Freshdesk') %></a>
</p>
<p>
<%- @T('Attention: These will be your login password after the import is completed.') %>
<%- @T('Attention: These will be your login and password after the import is completed.') %>
</p>
<div class="form-group">
<label for="freshdesk-api-token"><%- @T('API token') %></label>

View file

@ -33,7 +33,7 @@
<a class="js-zendeskUrlApiToken" href="#" target="_blank"><%- @T('Enter your email address and the %s API token gained from your admin interface.', 'Zendesk') %></a>
</p>
<p>
<%- @T('Attention: These will be your login password after the import is completed.') %>
<%- @T('Attention: These will be your login and password after the import is completed.') %>
</p>
<div class="form-group">
<label for="zendesk-email"><%- @T('Email') %></label>

View file

@ -21,7 +21,7 @@
<h2><%- @T('Inbound') %></h2>
<p><%- @T('Blocked caller ids based on sender caller id.') %>
<p><%- @T('Blocked caller IDs based on sender caller ID.') %>
<div class="settings-entry">
<table class="settings-list js-inboundBlockCallerId" style="width: 100%;">
@ -48,14 +48,14 @@
<h2><%- @T('Outbound') %></h2>
<p><%- @T('Set caller id of outbound calls based on destination caller id.') %>
<p><%- @T('Set caller ID of outbound calls based on destination caller ID.') %>
<div class="settings-entry js-outboundRouting">
<table class="settings-list" style="width: 100%;">
<thead>
<tr>
<th width="30%"><%- @T('Destination caller id') %>
<th width="30%"><%- @T('Set outbound caller id') %>
<th width="30%"><%- @T('Destination caller ID') %>
<th width="30%"><%- @T('Set outbound caller ID') %>
<th width="30%"><%- @T('Note') %>
<th width="10%"><%- @T('Action') %>
</thead>
@ -88,7 +88,7 @@
<tbody>
<tr>
<td class="settings-list-control-cell"><input name="default_caller_id" value="<%= @config.outbound.default_caller_id %>" placeholder="4930609854189" class="form-control form-control--small js-summary">
<td class="settings-list-row-control"><%- @T('Default caller id for outbound calls.') %>
<td class="settings-list-row-control"><%- @T('Default caller ID for outbound calls.') %>
<tr>
<td class="settings-list-control-cell js-viewLimit">
<td class="settings-list-row-control"><%- @T('Shown records in caller log.') %>
@ -98,13 +98,13 @@
<h2><%- @T('Notify Map') %></h2>
<p><%- @T('Notify certain users by matching caller id.') %><%- @T('If no mapping is defined, all user get notified about any event.') %>
<p><%- @T('Notify certain users by matching caller ID.') %><%- @T('If no mapping is defined, all user get notified about any event.') %>
<div class="settings-entry">
<table class="settings-list js-notifyMap" style="width: 100%;">
<thead>
<tr>
<th width="30%"><%- @T('Destination caller id or queue') %>
<th width="30%"><%- @T('Destination caller ID or queue') %>
<th width="60%"><%- @T('Agents') %>
<th width="10%"><%- @T('Action') %>
</thead>

View file

@ -37,7 +37,7 @@
<h2><%- @T('Inbound') %></h2>
<p><%- @T('Blocked caller ids based on sender caller id.') %>
<p><%- @T('Blocked caller IDs based on sender caller ID.') %>
<div class="settings-entry">
<table class="settings-list js-inboundBlockCallerId" style="width: 100%;">
@ -64,14 +64,14 @@
<!-- disabled until api is supporting it
<h2><%- @T('Outbound') %></h2>
<p><%- @T('Set caller id of outbound calls based on destination caller id.') %>
<p><%- @T('Set caller ID of outbound calls based on destination caller ID.') %>
<div class="settings-entry js-outboundRouting">
<table class="settings-list" style="width: 100%;">
<thead>
<tr>
<th width="30%"><%- @T('Destination caller id') %>
<th width="30%"><%- @T('Set outbound caller id') %>
<th width="30%"><%- @T('Destination caller ID') %>
<th width="30%"><%- @T('Set outbound caller ID') %>
<th width="30%"><%- @T('Note') %>
<th width="10%"><%- @T('Action') %>
</thead>
@ -106,7 +106,7 @@
<!--
<tr>
<td class="settings-list-control-cell"><input name="default_caller_id" value="<%= @config.outbound.default_caller_id %>" placeholder="4930609854189" class="form-control form-control--small js-summary">
<td class="settings-list-row-control"><%- @T('Default caller id for outbound calls.') %>
<td class="settings-list-row-control"><%- @T('Default caller ID for outbound calls.') %>
-->
<tr>
<td class="settings-list-control-cell js-viewLimit">

View file

@ -24,7 +24,7 @@
<h2><%- @T('Inbound') %></h2>
<p><%- @T('Blocked caller ids based on sender caller id.') %>
<p><%- @T('Blocked caller IDs based on sender caller ID.') %>
<div class="settings-entry">
<table class="settings-list js-inboundBlockCallerId" style="width: 100%;">
@ -51,14 +51,14 @@
<h2><%- @T('Outbound') %></h2>
<p><%- @T('Set caller id of outbound calls based on destination caller id.') %>
<p><%- @T('Set caller ID of outbound calls based on destination caller ID.') %>
<div class="settings-entry js-outboundRouting">
<table class="settings-list" style="width: 100%;">
<thead>
<tr>
<th width="30%"><%- @T('Destination caller id') %>
<th width="30%"><%- @T('Set outbound caller id') %>
<th width="30%"><%- @T('Destination caller ID') %>
<th width="30%"><%- @T('Set outbound caller ID') %>
<th width="30%"><%- @T('Note') %>
<th width="10%"><%- @T('Action') %>
</thead>
@ -91,7 +91,7 @@
<tbody>
<tr>
<td class="settings-list-control-cell"><input name="default_caller_id" value="<%= @config.outbound.default_caller_id %>" placeholder="4930609854189" class="form-control form-control--small js-summary">
<td class="settings-list-row-control"><%- @T('Default caller id for outbound calls.') %>
<td class="settings-list-row-control"><%- @T('Default caller ID for outbound calls.') %>
<tr>
<td class="settings-list-control-cell js-viewLimit">
<td class="settings-list-row-control"><%- @T('Shown records in caller log.') %>

View file

@ -27,7 +27,7 @@
<div class="form-group">
<div class="formGroup-label">
<label for="key-secret"><%- @T('Enter Private Key secret') %></label>
<label for="key-secret"><%- @T('Enter Private Key Secret') %></label>
</div>
<div class="controls">
<input class="form-control" name="secret" type="password" id="key-secret">

View file

@ -12,7 +12,7 @@
<div class="page-content">
<% if !_.isEmpty(@itemsToChange): %>
<div class="box box--message">
<h2><%- @T('Database Update required') %></h2>
<h2><%- @T('Database Update Required') %></h2>
<p>
<%- @T('Changes were made that require a database update.') %>
<%- @T('This might take some time where the system can\'t be used.') %>

View file

@ -9,7 +9,7 @@
<%- @T('Only packages from known, trusted and verfied sources should be installed.') %>
</p>
<p>
<%- @T('After installing, updating or uninstalling packages the following commands need to be executed on the server:') %>
<%- @T('After installing, updating, or uninstalling packages the following commands need to be executed on the server:') %>
<ul>
<% for command in @commands: %>
<li><code>zammad> <%- command %></code></li>

View file

@ -4,7 +4,7 @@
</div>
</div>
<div class="page-content">
<p><%- @T('Change your language.') %></p>
<p><%- @T('Choose your language.') %></p>
<form class="settings-entry horizontal end">
<div class="form-item js-language flex"></div>
<button type="submit" class="btn btn--primary"><%- @T('Submit') %></button>

View file

@ -1,6 +1,6 @@
<div class="page-header">
<div class="page-header-title">
<h1><%- @T('Change your password') %></h1>
<h1><%- @T('Change Your Password') %></h1>
</div>
</div>
<div class="page-content">

View file

@ -3,7 +3,7 @@
<div class="detail-search">
<div class="detail-search-header">
<div class="searchfield">
<input class="js-search form-control<%= if !@query then ' is-empty' %>" name="query" placeholder="<%- @Ti('Find what you search. E. g. "search phrase"') %>" value="<%= @query %>" type="search" autocomplete="off">
<input class="js-search form-control<%= if !@query then ' is-empty' %>" name="query" placeholder="<%- @Ti('Find what you\'re looking for, e.g. "search phrase"') %>" value="<%= @query %>" type="search" autocomplete="off">
<%- @Icon('magnifier') %>
<div class="empty-search js-emptySearch">
<%- @Icon('diagonal-cross') %>

View file

@ -31,7 +31,7 @@
</div>
<div class="input form-group">
<div class="formGroup-label">
<label for=""><%- @T('Choose the group in which messages will get added to.') %> <span>*</span></label>
<label for=""><%- @T('Choose the group to which messages will get added.') %> <span>*</span></label>
</div>
<div class="controls">
<div class="js-messagesGroup"></div>

View file

@ -28,7 +28,7 @@
</div>
<div class="input form-group">
<div class="formGroup-label">
<label for=""><%- @T('Choose the group in which messages will get added to.') %> <span>*</span></label>
<label for=""><%- @T('Choose the group to which messages will get added.') %> <span>*</span></label>
</div>
<div class="controls">
<div class="js-messagesGroup"></div>

View file

@ -48,7 +48,7 @@
</div>
<div class="input form-group">
<div class="formGroup-label">
<label for=""><%- @T('Cc') %></label>
<label for=""><%- @T('CC') %></label>
</div>
<div class="controls"><input type="text" name="cc" value="<%= @article.cc %>" class="form-control js-mail-inputs js-cc"></div>
</div>

View file

@ -21,7 +21,7 @@
<% end %>
<% if @article.cc: %>
<div class="horizontal article-meta-row">
<div class="article-meta-key u-textTruncate"><%- @T('Cc') %></div>
<div class="article-meta-key u-textTruncate"><%- @T('CC') %></div>
<div class="article-meta-value flex contain-text"><%- @AddressLine(@article.cc) %></div>
</div>
<% end %>
@ -126,4 +126,3 @@
<div class="js-article-actions"></div>
<a href="<%- @C('http_type') %>://<%- @C('fqdn') %>/#ticket/zoom/<%- @article.ticket_id %>/<%- @article.id %>"><small class="task-subline"><%- @humanTime(@article.created_at) %></small></a>

View file

@ -24,11 +24,11 @@
</table>
<h3><%- @T('Mentions Group') %></h3>
<p class="description"><%- @T('Choose the group in which mentions will get added to.') %></p>
<p class="description"><%- @T('Choose the group to which mentions will get added.') %></p>
<div class="js-mentionsGroup"></div>
<h3><%- @T('Direct Messages Group') %></h3>
<p class="description"><%- @T('Choose the group in which direct messages will get added to.') %></p>
<p class="description"><%- @T('Choose the group to which direct messages will get added.') %></p>
<div class="js-directMessagesGroup"></div>
<h3><%- @T('Retweets') %></h3>

View file

@ -75,7 +75,7 @@
<% if channel.options.sync.track_retweets: %>
<%- @T('Retweets are converted to Tickets') %>.
<% else: %>
<%- @T('Conversion of retweets to tickets is turned off') %>.
<%- @T('Conversion of retweets into tickets is turned off') %>.
<% end %>
</div>
</div>

View file

@ -113,7 +113,7 @@ curl http://localhost/api/v1/getting_started -v -u #{login}:#{password}
settings[:http_type] = result[:scheme]
settings[:fqdn] = result[:fqdn]
else
messages[:url] = __('An URL looks like this: http://zammad.example.com')
messages[:url] = __('A URL looks like this: https://zammad.example.com')
end
end

View file

@ -140,7 +140,7 @@ UserAgent: #{request.env['HTTP_USER_AGENT'] || '-'}
http_log_config facility: 'check_mk'
if !Setting.get('check_mk_integration')
raise Exceptions::UnprocessableEntity, __('Feature is disable, please contact your admin to enable it!')
raise Exceptions::UnprocessableEntity, __('Feature is disabled, please contact your administrator!')
end
if Setting.get('check_mk_token') != params[:token]

View file

@ -52,7 +52,7 @@ class Integration::CtiController < ApplicationController
http_log_config facility: 'cti'
if !Setting.get('cti_integration')
response_error(__('Feature is disable, please contact your admin to enable it!'))
response_error(__('Feature is disabled, please contact your administrator!'))
return
end
if config_integration.blank? || config_integration[:inbound].blank? || config_integration[:outbound].blank?

View file

@ -51,7 +51,7 @@ class Integration::PlacetelController < ApplicationController
http_log_config facility: 'placetel'
if !Setting.get('placetel_integration')
response_error(__('Feature is disable, please contact your admin to enable it!'))
response_error(__('Feature is disabled, please contact your administrator!'))
return
end
if config_integration.blank? || config_integration[:inbound].blank? || config_integration[:outbound].blank?

View file

@ -42,7 +42,7 @@ class Integration::SipgateController < ApplicationController
http_log_config facility: 'sipgate.io'
if !Setting.get('sipgate_integration')
xml_error(__('Feature is disable, please contact your admin to enable it!'))
xml_error(__('Feature is disabled, please contact your administrator!'))
return
end
if config_integration.blank? || config_integration[:inbound].blank? || config_integration[:outbound].blank?

View file

@ -41,7 +41,7 @@ module Cti
=begin
get items (users) for a certain caller id
get items (users) for a certain caller ID
caller_id_records = Cti::CallerId.lookup('49123456789')
@ -114,7 +114,7 @@ returns
end
return if !user_id
# get caller ids
# get caller IDs
caller_ids = []
attributes = record.attributes
attributes.each_value do |value|
@ -127,7 +127,7 @@ returns
caller_ids.concat(local_caller_ids)
end
# search for caller ids to keep
# search for caller IDs to keep
caller_ids_to_add = []
existing_record_ids = Cti::CallerId.where(object: model.to_s, o_id: record.id).pluck(:id)
caller_ids.uniq.each do |caller_id|
@ -145,12 +145,12 @@ returns
caller_ids_to_add.push caller_id
end
# delete not longer existing caller ids
# delete not longer existing caller IDs
existing_record_ids.each do |record_id|
Cti::CallerId.destroy(record_id)
end
# create new caller ids
# create new caller IDs
caller_ids_to_add.each do |caller_id|
Cti::CallerId.maybe_add(
caller_id: caller_id,

View file

@ -32,7 +32,7 @@ class Cti::Driver::Base
return result
end
# set caller id of outbound call
# set caller ID of outbound call
result = caller_id_rewrite(@params)
if result.present? && result[:action] == 'set_caller_id'
@params['from'] = result[:params][:from_caller_id]

View file

@ -823,7 +823,7 @@ is certain attribute used by triggers, overviews or schedulers
errors.add(:name, __('Only letters from a-z because numbers from 0-9 and _ are allowed'))
end
if !name.match?(%r{[a-z]})
errors.add(:name, __('At least one letters is needed'))
errors.add(:name, __('At least one letter is required'))
end
# do not allow model method names as attributes

View file

@ -290,7 +290,7 @@ returns
raise Exceptions::UnprocessableEntity, 'ticket already merged, no merge into merged ticket possible' if target_ticket.state.state_type.name == 'merged'
# check different ticket ids
raise Exceptions::UnprocessableEntity, __('Can\'t merge ticket with it self!') if id == target_ticket.id
raise Exceptions::UnprocessableEntity, __('Can\'t merge ticket with itself!') if id == target_ticket.id
# update articles
Transaction.execute context: 'merge' do

View file

@ -872,7 +872,7 @@ Setting.create_if_not_exists(
description: __('Set notes for ticket create types by selecting type.'),
options: {},
state: {
# 'email-out' => __('Attention: When creating a ticket an e-mail is sent.'),
# 'email-out' => __('Attention: When creating a ticket an email is sent.'),
},
preferences: {
permission: ['admin.ui'],

View file

@ -308,6 +308,10 @@ msgstr ""
msgid "A **calendar** is needed to calculate escalations based on business hours and to send out escalation notifications.\n\nDefine a **\"standard\"** calendar which is valid system-wide. The escalation notifications will only be sent to your agents during the defined business hours.\n\nIf you have customers with different business hours, you can create multiple calendars. Tickets are linked to calendars using **SLAs**."
msgstr ""
#: app/controllers/getting_started_controller.rb
msgid "A URL looks like this: https://zammad.example.com"
msgstr ""
#: db/seeds/settings.rb
msgid "A list of active import backends that get scheduled automatically."
msgstr ""
@ -638,7 +642,7 @@ msgid "Advance to next ticket from overview"
msgstr ""
#: app/assets/javascripts/app/views/package.jst.eco
msgid "After installing, updating or uninstalling packages the following commands need to be executed on the server:"
msgid "After installing, updating, or uninstalling packages the following commands need to be executed on the server:"
msgstr ""
#: app/assets/javascripts/app/views/session.jst.eco
@ -677,14 +681,14 @@ msgstr ""
msgid "Alarm"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee
msgid "All Agents"
msgstr ""
#: app/assets/javascripts/app/views/profile/notification.jst.eco
msgid "All Tickets"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee
msgid "All agents"
msgstr ""
#: public/assets/chat/views/waiting.eco
msgid "All colleagues are busy."
msgstr ""
@ -717,12 +721,6 @@ msgstr ""
msgid "Allow websites (separated by ;)"
msgstr ""
#: app/assets/javascripts/app/controllers/_integration/cti.coffee
#: app/assets/javascripts/app/controllers/_integration/placetel.coffee
#: app/assets/javascripts/app/controllers/_integration/sipgate_io.coffee
msgid "Also caller id of outbound calls can be changed."
msgstr ""
#: app/assets/javascripts/app/views/profile/notification.jst.eco
msgid "Also notify via email"
msgstr ""
@ -747,10 +745,6 @@ msgstr ""
msgid "Alternatively, you can use the Zammad API to import data."
msgstr ""
#: app/controllers/getting_started_controller.rb
msgid "An URL looks like this: http://zammad.example.com"
msgstr ""
#: app/assets/javascripts/app/views/integration/exchange_last_import.jst.eco
#: app/assets/javascripts/app/views/integration/ldap_last_import.jst.eco
msgid "An error occurred: %s"
@ -760,7 +754,7 @@ msgstr ""
#: app/assets/javascripts/app/controllers/_integration/icinga.coffee
#: app/assets/javascripts/app/controllers/_integration/monit.coffee
#: app/assets/javascripts/app/controllers/_integration/nagios.coffee
msgid "An open source monitoring tool."
msgid "An open-source monitoring tool."
msgstr ""
#: app/assets/javascripts/app/views/integration/exchange_wizard.jst.eco
@ -790,7 +784,7 @@ msgid "Anticon"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/postmaster_match.coffee
msgid "Any Recipient"
msgid "Any recipient"
msgstr ""
#: db/seeds/settings.rb
@ -856,7 +850,11 @@ msgid "Archived at"
msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/sidebar/attachments.coffee
msgid "Are you sure to delete"
msgid "Are you sure you want to delete"
msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_controller.coffee
msgid "Are you sure you want to reload? You have unsaved changes that will get lost"
msgstr ""
#: app/assets/javascripts/app/controllers/data_privacy.coffee
@ -867,10 +865,6 @@ msgstr ""
msgid "Area"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/holiday_selector.coffee
msgid "Aready exists!"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/_application_selector.coffee
#: app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee
msgid "Article"
@ -880,15 +874,10 @@ msgstr ""
msgid "Article Count"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee
msgid "Article Last Sender"
msgstr ""
#: app/assets/javascripts/app/models/ticket.coffee
msgid "Article#"
msgstr ""
#: app/assets/javascripts/app/models/group.coffee
#: db/seeds/object_manager_attributes.rb
msgid "Assign Follow-Ups"
msgstr ""
@ -902,6 +891,10 @@ msgstr ""
msgid "Assign follow-up to latest agent again."
msgstr ""
#: app/assets/javascripts/app/models/group.coffee
msgid "Assign follow-ups"
msgstr ""
#: app/assets/javascripts/app/controllers/_integration/ldap.coffee
msgid "Assign signup roles"
msgstr ""
@ -914,12 +907,15 @@ msgstr ""
msgid "Assignee"
msgstr ""
#: app/assets/javascripts/app/models/_application_model.coffee
#: app/assets/javascripts/app/models/group.coffee
#: db/seeds/object_manager_attributes.rb
msgid "Assignment Timeout"
msgstr ""
#: app/assets/javascripts/app/models/_application_model.coffee
#: app/assets/javascripts/app/models/group.coffee
msgid "Assignment timeout"
msgstr ""
#: app/assets/javascripts/app/models/group.coffee
#: db/seeds/object_manager_attributes.rb
msgid "Assignment timeout in minutes if assigned agent is not working on it. Ticket will be shown as unassigend."
@ -930,7 +926,7 @@ msgid "At least one identifier (firstname, lastname, phone or email) for user is
msgstr ""
#: app/models/object_manager/attribute.rb
msgid "At least one letters is needed"
msgid "At least one letter is required"
msgstr ""
#: app/assets/javascripts/app/controllers/widget/ticket_bulk_form.coffee
@ -965,11 +961,11 @@ msgstr ""
#: app/assets/javascripts/app/views/import/freshdesk.jst.eco
#: app/assets/javascripts/app/views/import/zendesk.jst.eco
msgid "Attention: These will be your login password after the import is completed."
msgid "Attention: These will be your login and password after the import is completed."
msgstr ""
#: db/seeds/settings.rb
msgid "Attention: When creating a ticket an e-mail is sent."
msgid "Attention: When creating a ticket an email is sent."
msgstr ""
#: app/assets/javascripts/app/controllers/object_manager.coffee
@ -1075,10 +1071,6 @@ msgstr ""
msgid "Automatically loads the chat.css file. If you want to use your own css, just set it to false."
msgstr ""
#: app/assets/javascripts/app/views/channel/chat.jst.eco
msgid "Automatically show chat"
msgstr ""
#: app/assets/javascripts/app/models/overview.coffee
msgid "Available for the following roles"
msgstr ""
@ -1191,7 +1183,7 @@ msgstr ""
#: app/assets/javascripts/app/views/integration/cti.jst.eco
#: app/assets/javascripts/app/views/integration/placetel.jst.eco
#: app/assets/javascripts/app/views/integration/sipgate.jst.eco
msgid "Blocked caller ids based on sender caller id."
msgid "Blocked caller IDs based on sender caller ID."
msgstr ""
#: app/assets/javascripts/app/models/chat.coffee
@ -1270,12 +1262,20 @@ msgstr ""
msgid "By default the follow-up check is done via the subject of an email. With this setting you can add more fields for which the follow-up check will be executed."
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/postmaster_match.coffee
#: app/assets/javascripts/app/controllers/agent_ticket_create.coffee
#: app/assets/javascripts/app/models/ticket_article.coffee
#: app/assets/javascripts/app/views/ticket_zoom/article_new.jst.eco
#: app/assets/javascripts/app/views/ticket_zoom/article_view.jst.eco
msgid "CC"
msgstr ""
#: app/assets/javascripts/app/controllers/_integration/idoit.coffee
msgid "CMDB to document complex relations of your network components."
msgstr ""
#: app/assets/javascripts/app/controllers/_channel/chat.coffee
msgid "CSS font-size with a unit like 12px, 1.5em. If left to undefined it inherits the font-size of the website."
msgid "CSS font-size with a unit like 12px, 1.5em. If left undefined it inherits the font-size of the website."
msgstr ""
#: app/assets/javascripts/app/controllers/cti.coffee
@ -1324,6 +1324,12 @@ msgstr ""
msgid "Callback URL"
msgstr ""
#: app/assets/javascripts/app/controllers/_integration/cti.coffee
#: app/assets/javascripts/app/controllers/_integration/placetel.coffee
#: app/assets/javascripts/app/controllers/_integration/sipgate_io.coffee
msgid "Caller ID of outbound calls can be changed as well."
msgstr ""
#: app/assets/javascripts/app/views/integration/cti.jst.eco
#: app/assets/javascripts/app/views/integration/placetel.jst.eco
#: app/assets/javascripts/app/views/integration/sipgate.jst.eco
@ -1360,7 +1366,7 @@ msgid "Can't generate new ticket number!"
msgstr ""
#: app/models/ticket.rb
msgid "Can't merge ticket with it self!"
msgid "Can't merge ticket with itself!"
msgstr ""
#: lib/sessions/event/spool.rb
@ -1373,7 +1379,7 @@ msgstr ""
#: app/assets/javascripts/app/controllers/_profile/password.coffee
#: app/assets/javascripts/app/controllers/password_reset_verify.coffee
msgid "Can't update password, your new passwords do not match. Please try again!"
msgid "Can't update password, your entered passwords do not match. Please try again!"
msgstr ""
#: app/assets/javascripts/app/controllers/ticket_zoom/article_action/email_reply.coffee
@ -1434,11 +1440,6 @@ msgstr ""
msgid "Category page layout"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/postmaster_match.coffee
#: app/assets/javascripts/app/controllers/agent_ticket_create.coffee
#: app/assets/javascripts/app/models/ticket_article.coffee
#: app/assets/javascripts/app/views/ticket_zoom/article_new.jst.eco
#: app/assets/javascripts/app/views/ticket_zoom/article_view.jst.eco
#: db/seeds/object_manager_attributes.rb
msgid "Cc"
msgstr ""
@ -1467,19 +1468,15 @@ msgstr ""
msgid "Change Objects"
msgstr ""
#: app/assets/javascripts/app/views/profile/password.jst.eco
msgid "Change Your Password"
msgstr ""
#: app/assets/javascripts/app/views/generic/history.jst.eco
#: app/assets/javascripts/app/views/knowledge_base/sidebar/generic_list.jst.eco
msgid "Change order"
msgstr ""
#: app/assets/javascripts/app/views/profile/language.jst.eco
msgid "Change your language."
msgstr ""
#: app/assets/javascripts/app/views/profile/password.jst.eco
msgid "Change your password"
msgstr ""
#: app/assets/javascripts/app/views/object_manager/index.jst.eco
msgid "Changed"
msgstr ""
@ -1501,10 +1498,6 @@ msgstr ""
msgid "Changes were made that require a database update."
msgstr ""
#: app/assets/javascripts/app/controllers/knowledge_base/content_controller.coffee
msgid "Changes were made. Do you want to reload? You'll loose your changes"
msgstr ""
#: app/assets/javascripts/app/controllers/_channel/email.coffee
#: app/assets/javascripts/app/controllers/_channel/google.coffee
#: app/assets/javascripts/app/controllers/_channel/microsoft365.coffee
@ -1581,7 +1574,7 @@ msgid "Chat closed by %s"
msgstr ""
#: app/assets/javascripts/app/controllers/chat.coffee
msgid "Chat not answered, set to offline automatically."
msgid "Chat not answered, automatically set to offline."
msgstr ""
#: app/assets/javascripts/app/controllers/_channel/chat.coffee
@ -1633,21 +1626,25 @@ msgstr ""
msgid "Choose if retweets should also be converted to tickets."
msgstr ""
#: app/assets/javascripts/app/views/twitter/account_edit.jst.eco
msgid "Choose the group in which direct messages will get added to."
#: app/assets/javascripts/app/views/facebook/account_edit.jst.eco
msgid "Choose the Group to which page posts will get added."
msgstr ""
#: app/assets/javascripts/app/views/twitter/account_edit.jst.eco
msgid "Choose the group in which mentions will get added to."
msgid "Choose the group to which direct messages will get added."
msgstr ""
#: app/assets/javascripts/app/views/twitter/account_edit.jst.eco
msgid "Choose the group to which mentions will get added."
msgstr ""
#: app/assets/javascripts/app/views/telegram/bot_add.jst.eco
#: app/assets/javascripts/app/views/telegram/bot_edit.jst.eco
msgid "Choose the group in which messages will get added to."
msgid "Choose the group to which messages will get added."
msgstr ""
#: app/assets/javascripts/app/views/facebook/account_edit.jst.eco
msgid "Choose the group in which page postings will get added to."
#: app/assets/javascripts/app/views/profile/language.jst.eco
msgid "Choose your language."
msgstr ""
#: app/assets/javascripts/app/views/password/reset_change.jst.eco
@ -1823,7 +1820,7 @@ msgstr ""
#: app/assets/javascripts/app/controllers/time_accounting.coffee
#: app/assets/javascripts/app/models/job.coffee
#: app/assets/javascripts/app/models/trigger.coffee
msgid "Conditions for effected objects"
msgid "Conditions for affected objects"
msgstr ""
#: app/assets/javascripts/app/models/overview.coffee
@ -2000,7 +1997,7 @@ msgid "Conversation transfered into other chat. Please stay tuned."
msgstr ""
#: app/assets/javascripts/app/views/twitter/list.jst.eco
msgid "Conversion of retweets to tickets is turned off"
msgid "Conversion of retweets into tickets is turned off"
msgstr ""
#: app/assets/javascripts/app/controllers/_plugin/electron_events.coffee
@ -2098,7 +2095,7 @@ msgid "Create Text Modules"
msgstr ""
#: app/assets/javascripts/app/models/text_module.coffee
msgid "Create Text Modules to **spend less time writing responses**. Text Modules can include smart variables like the users name or email address.\n\nExamples of snippets are:\n\n* Hello Mrs. #{ticket.customer.lastname},\n* Hello Mr. #{ticket.customer.lastname},\n* Hello #{ticket.customer.firstname},\n* My Name is #{user.firstname},\n\nOf course you can also use multi line snippets.\n\nAvailable objects are:\n* ticket (e. g. ticket.state, ticket.group)\n* ticket.customer (e. g. ticket.customer.firstname, ticket.customer.lastname)\n* ticket.owner (e. g. ticket.owner.firstname, ticket.owner.lastname)\n* ticket.organization (e. g. ticket.organization.name)\n* user (e. g. user.firstname, user.email)\n\nTo select placeholders from a list, just enter \"::\".\n"
msgid "Create Text Modules to **spend less time writing responses**. Text Modules can include smart variables like the user's name or email address.\n\nExamples of snippets are:\n\n* Hello Mrs. #{ticket.customer.lastname},\n* Hello Mr. #{ticket.customer.lastname},\n* Hello #{ticket.customer.firstname},\n* My name is #{user.firstname},\n\nOf course, you can also use multi-line snippets.\n\nAvailable objects are:\n* ticket (e.g. ticket.state, ticket.group)\n* ticket.customer (e.g. ticket.customer.firstname, ticket.customer.lastname)\n* ticket.owner (e.g. ticket.owner.firstname, ticket.owner.lastname)\n* ticket.organization (e.g. ticket.organization.name)\n* user (e.g. user.firstname, user.email)\n\nTo select placeholders from a list, just enter \"::\"."
msgstr ""
#: app/controllers/first_steps_controller.rb
@ -2156,6 +2153,7 @@ msgstr ""
#: app/assets/javascripts/app/models/ticket_article.coffee
#: app/assets/javascripts/app/models/ticket_priority.coffee
#: app/assets/javascripts/app/models/ticket_state.coffee
#: app/assets/javascripts/app/views/agent_ticket_view/detail.jst.eco
#: app/assets/javascripts/app/views/integration/smime_list.jst.eco
#: app/assets/javascripts/app/views/popover/ticket.jst.eco
#: app/assets/javascripts/app/views/profile/token_access.jst.eco
@ -2288,11 +2286,14 @@ msgstr ""
msgid "Customer tickets of the user will get deleted on execution of the task. No rollback possible."
msgstr ""
#: app/assets/javascripts/app/models/organization.coffee
#: db/seeds/object_manager_attributes.rb
msgid "Customers in the organization can view each other items."
msgstr ""
#: app/assets/javascripts/app/models/organization.coffee
msgid "Customers in the organization can view each other's items."
msgstr ""
#: app/assets/javascripts/app/controllers/_plugin/electron_events.coffee
msgid "Cut"
msgstr ""
@ -2327,7 +2328,7 @@ msgid "Database"
msgstr ""
#: app/assets/javascripts/app/views/object_manager/index.jst.eco
msgid "Database Update required"
msgid "Database Update Required"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/object_manager_attribute.coffee
@ -2376,7 +2377,7 @@ msgid "Decryption failed!"
msgstr ""
#: app/assets/javascripts/app/controllers/ticket_zoom/article_view.coffee
msgid "Decryption success!"
msgid "Decryption successful!"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/object_manager_attribute.coffee
@ -2408,15 +2409,15 @@ msgstr ""
#: app/assets/javascripts/app/views/integration/cti.jst.eco
#: app/assets/javascripts/app/views/integration/placetel.jst.eco
#: app/assets/javascripts/app/views/integration/sipgate.jst.eco
msgid "Default caller id for outbound calls."
msgid "Default caller ID for outbound calls."
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/object_manager_attribute.coffee
msgid "Default time Diff (hours)"
msgid "Default time diff (hours)"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/object_manager_attribute.coffee
msgid "Default time Diff (minutes)"
msgid "Default time diff (minutes)"
msgstr ""
#: db/seeds/settings.rb
@ -3109,11 +3110,11 @@ msgstr ""
#: app/assets/javascripts/app/views/integration/cti.jst.eco
#: app/assets/javascripts/app/views/integration/placetel.jst.eco
#: app/assets/javascripts/app/views/integration/sipgate.jst.eco
msgid "Destination caller id"
msgid "Destination caller ID"
msgstr ""
#: app/assets/javascripts/app/views/integration/cti.jst.eco
msgid "Destination caller id or queue"
msgid "Destination caller ID or queue"
msgstr ""
#: db/seeds/settings.rb
@ -3258,22 +3259,18 @@ msgstr ""
msgid "Drop files here"
msgstr ""
#: app/assets/javascripts/app/controllers/_plugin/session_timeout.coffee
msgid "Due to inactivity are automatically logged out within the next 30 seconds."
#: app/assets/javascripts/app/controllers/login.coffee
msgid "Due to inactivity, you have been automatically logged out."
msgstr ""
#: app/assets/javascripts/app/controllers/login.coffee
msgid "Due to inactivity you are automatically logged out."
#: app/assets/javascripts/app/controllers/_plugin/session_timeout.coffee
msgid "Due to inactivity, you will be automatically logged out within the next 30 seconds."
msgstr ""
#: app/assets/javascripts/app/views/cti/caller_log.jst.eco
msgid "Duration"
msgstr ""
#: app/assets/javascripts/app/views/dashboard.jst.eco
msgid "E. g. recent changed tickets, users or organizations."
msgstr ""
#: app/assets/javascripts/app/models/user.coffee
msgid "Easter holiday"
msgstr ""
@ -3347,7 +3344,7 @@ msgid "Elasticsearch Total Payload Size"
msgstr ""
#: lib/search_index_backend.rb
msgid "Elasticsearch is not reachable, probably because it's not running or even installed."
msgid "Elasticsearch is not reachable. It's possible that it's not running. Please check whether it is installed."
msgstr ""
#: app/controllers/reports_controller.rb
@ -3461,12 +3458,12 @@ msgstr ""
msgid "Enable REST API access using the username/email address and password for the authentication user."
msgstr ""
#: db/seeds/settings.rb
msgid "Enable REST API using tokens (not username/email address and password). Each user needs to create its own access tokens in user profile."
#: app/assets/javascripts/app/views/api.jst.eco
msgid "Enable REST API using tokens (not username/email address and password). All users need to create their own access tokens in the user profile."
msgstr ""
#: app/assets/javascripts/app/views/api.jst.eco
msgid "Enable REST API using tokens (not username/email address and password). Each user needs to create own access tokens in user profile."
#: db/seeds/settings.rb
msgid "Enable REST API using tokens (not username/email address and password). Each user needs to create its own access tokens in user profile."
msgstr ""
#: db/seeds/settings.rb
@ -3642,7 +3639,7 @@ msgid "Enter Person or Organization/Company"
msgstr ""
#: app/assets/javascripts/app/views/integration/smime_private_key_add.jst.eco
msgid "Enter Private Key secret"
msgid "Enter Private Key Secret"
msgstr ""
#: app/assets/javascripts/app/controllers/layout_ref.coffee
@ -3677,7 +3674,7 @@ msgid "Enter the link provided by the plugin at the end of the installation to l
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/timezone.coffee
msgid "Enter timezone..."
msgid "Enter time zone"
msgstr ""
#: app/assets/javascripts/app/views/import/freshdesk.jst.eco
@ -3717,10 +3714,6 @@ msgstr ""
msgid "Error during execution of auto wizard."
msgstr ""
#: app/assets/javascripts/app/views/agent_ticket_view/detail.jst.eco
msgid "Erstellt"
msgstr ""
#: db/seeds/overviews.rb
msgid "Escalated"
msgstr ""
@ -3754,7 +3747,7 @@ msgid "Evangelist"
msgstr ""
#: app/assets/javascripts/app/models/knowledge_base.coffee
msgid "Every category in your knowledge base should be given a unique icon for maximum visual clarity. Each set below provides a wide range of icons to choose from, but beware-you can't mix and match different icons from different sets. Choose carefully!"
msgid "Every category in your knowledge base should be given a unique icon for maximum visual clarity. Each set below provides a wide range of icons to choose from, but beware: You can't mix and match different icons from different sets. Choose carefully!"
msgstr ""
#: app/assets/javascripts/app/models/trigger.coffee
@ -3871,11 +3864,11 @@ msgstr ""
#: app/assets/javascripts/app/controllers/_channel/google.coffee
#: app/assets/javascripts/app/controllers/_channel/microsoft365.coffee
msgid "Failed to rollback migration of the channel!"
msgid "Failed to roll back the migration of the channel!"
msgstr ""
#: app/assets/javascripts/app/controllers/user_profile.coffee
msgid "Failed to sent Email \"%s\". Please contact an administrator."
msgid "Failed to send email to \"%s\". Please contact an administrator."
msgstr ""
#: db/seeds/object_manager_attributes.rb
@ -3890,7 +3883,7 @@ msgstr ""
#: app/controllers/integration/cti_controller.rb
#: app/controllers/integration/placetel_controller.rb
#: app/controllers/integration/sipgate_controller.rb
msgid "Feature is disable, please contact your admin to enable it!"
msgid "Feature is disabled, please contact your administrator!"
msgstr ""
#: app/controllers/integration/cti_controller.rb
@ -3939,7 +3932,7 @@ msgid "Filter"
msgstr ""
#: app/assets/javascripts/app/views/search/index.jst.eco
msgid "Find what you search. E. g. \"search phrase\""
msgid "Find what you're looking for, e.g. \"search phrase\""
msgstr ""
#: app/assets/javascripts/app/views/integration/smime_list.jst.eco
@ -4038,6 +4031,10 @@ msgstr ""
msgid "Footer menu"
msgstr ""
#: app/assets/javascripts/app/views/dashboard.jst.eco
msgid "For example, recently changed tickets, users, or organizations."
msgstr ""
#: app/assets/javascripts/app/views/profile/token_access_created.jst.eco
msgid "For security reasons, the API token is shown only once. You'll need to copy it somewhere safe before continuing."
msgstr ""
@ -6614,7 +6611,7 @@ msgid "Notify Map"
msgstr ""
#: app/assets/javascripts/app/views/integration/cti.jst.eco
msgid "Notify certain users by matching caller id."
msgid "Notify certain users by matching caller ID."
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/basedate.coffee
@ -8040,6 +8037,10 @@ msgstr ""
msgid "Sender based on Reply-To header"
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee
msgid "Sender of last article"
msgstr ""
#: app/assets/javascripts/app/views/widget/invite_user.jst.eco
msgid "Sending..."
msgstr ""
@ -8117,7 +8118,7 @@ msgstr ""
#: app/assets/javascripts/app/views/integration/cti.jst.eco
#: app/assets/javascripts/app/views/integration/placetel.jst.eco
#: app/assets/javascripts/app/views/integration/sipgate.jst.eco
msgid "Set caller id of outbound calls based on destination caller id."
msgid "Set caller ID of outbound calls based on destination caller ID."
msgstr ""
#: db/seeds/settings.rb
@ -8135,7 +8136,7 @@ msgstr ""
#: app/assets/javascripts/app/views/integration/cti.jst.eco
#: app/assets/javascripts/app/views/integration/placetel.jst.eco
#: app/assets/javascripts/app/views/integration/sipgate.jst.eco
msgid "Set outbound caller id"
msgid "Set outbound caller ID"
msgstr ""
#: db/seeds/settings.rb
@ -8218,6 +8219,10 @@ msgstr ""
msgid "Show all..."
msgstr ""
#: app/assets/javascripts/app/views/channel/chat.jst.eco
msgid "Show chat automatically"
msgstr ""
#: app/assets/javascripts/app/views/generic/ticket_list.jst.eco
msgid "Show less"
msgstr ""
@ -8948,6 +8953,10 @@ msgstr ""
msgid "This class gets added to the button on initialization and gets removed once the chat connection got established."
msgstr ""
#: app/assets/javascripts/app/controllers/_ui_element/holiday_selector.coffee
msgid "This entry already exists!"
msgstr ""
#: app/assets/javascripts/app/views/version.jst.eco
msgid "This is Zammad version %s"
msgstr ""

View file

@ -334,7 +334,7 @@ result
def get_state(page, post, ticket = nil)
# no changes in post is from page user it self
# no changes in post is from page user itself
if post['from'] && post['from']['id'].to_s == page['id'].to_s
if !ticket
return Ticket::State.find_by(name: 'closed')

View file

@ -832,7 +832,7 @@ generate url for index or document access (only for internal use)
end
message = if response&.error&.match?(__('Connection refused'))
__("Elasticsearch is not reachable, probably because it's not running or even installed.")
__("Elasticsearch is not reachable. It's possible that it's not running. Please check whether it is installed.")
elsif url.end_with?('pipeline/zammad-attachment', 'pipeline=zammad-attachment') && response.code == 400
__('The installed attachment plugin could not handle the request payload. Ensure that the correct attachment plugin is installed (ingest-attachment).')
else

View file

@ -18,7 +18,7 @@ To execute this manually, just paste the following into the browser console
client_list = Sessions.list
client_list.each do |local_client_id, local_client|
if local_client_id == @client_id
log 'info', 'do not send broadcast to it self'
log 'info', 'do not send broadcast to itself'
next
end

View file

@ -531,7 +531,7 @@ create a tweet or direct message from an article
user(tweet).id
end
# no changes in post is from page user it self
# no changes in post is from page user itself
if channel.options[:user][:id].to_s == user_id.to_s
if !ticket
return Ticket::State.find_by(name: 'closed')

View file

@ -97,7 +97,7 @@ RSpec.describe Ticket, type: :model do
context 'when attempting to self-merge (i.e., to merge A → A)' do
it 'raises an error' do
expect { ticket.merge_to(ticket_id: ticket.id, user_id: 1) }
.to raise_error("Can't merge ticket with it self!")
.to raise_error("Can't merge ticket with itself!")
end
end

View file

@ -51,21 +51,21 @@ RSpec.describe 'Dashboard', type: :system do
end
it 'does logout user' do
expect(page).to have_text('Due to inactivity are automatically logged out within the next 30 seconds.', wait: 20)
expect(page).to have_text('Due to inactivity you are automatically logged out.', wait: 20)
expect(page).to have_text('Due to inactivity, you will be automatically logged out within the next 30 seconds.', wait: 20)
expect(page).to have_text('Due to inactivity, you have been automatically logged out.', wait: 20)
end
it 'does not logout user', authenticated_as: :admin do
sleep 1.5
expect(page).to have_no_text('Due to inactivity you are automatically logged out.', wait: 0)
expect(page).to have_no_text('Due to inactivity, you have been automatically logged out.', wait: 0)
end
end
context 'Logout by frontend plugin - Setting change', authenticated_as: :admin do
it 'does logout user' do
expect(page).to have_no_text('Due to inactivity you are automatically logged out.')
expect(page).to have_no_text('Due to inactivity, you have been automatically logged out.')
Setting.set('session_timeout', { default: '1' })
expect(page).to have_text('Due to inactivity you are automatically logged out.', wait: 20)
expect(page).to have_text('Due to inactivity, you have been automatically logged out.', wait: 20)
end
end
@ -76,7 +76,7 @@ RSpec.describe 'Dashboard', type: :system do
end
it 'does logout user' do
expect(page).to have_text('Due to inactivity you are automatically logged out.', wait: 20)
expect(page).to have_text('Due to inactivity, you have been automatically logged out.', wait: 20)
end
end
@ -87,7 +87,7 @@ RSpec.describe 'Dashboard', type: :system do
end
it 'does logout user' do
expect(page).to have_text('Due to inactivity you are automatically logged out.', wait: 20)
expect(page).to have_text('Due to inactivity, you have been automatically logged out.', wait: 20)
end
end
@ -98,7 +98,7 @@ RSpec.describe 'Dashboard', type: :system do
end
it 'does logout user' do
expect(page).to have_text('Due to inactivity you are automatically logged out.', wait: 20)
expect(page).to have_text('Due to inactivity, you have been automatically logged out.', wait: 20)
end
end
@ -112,7 +112,7 @@ RSpec.describe 'Dashboard', type: :system do
# backend tests for the reset
session = ActiveRecord::SessionStore::Session.all.detect { |s| s.data['user_id'] == admin.id }
SessionTimeoutJob::Session.new(session).frontend_timeout
expect(page).to have_text('Due to inactivity you are automatically logged out.', wait: 20)
expect(page).to have_text('Due to inactivity, you have been automatically logged out.', wait: 20)
end
end
@ -124,7 +124,7 @@ RSpec.describe 'Dashboard', type: :system do
it 'does not logout user', authenticated_as: :admin do
sleep 1.5
expect(page).to have_no_text('Due to inactivity you are automatically logged out.', wait: 0)
expect(page).to have_no_text('Due to inactivity, you have been automatically logged out.', wait: 0)
end
end
@ -136,7 +136,7 @@ RSpec.describe 'Dashboard', type: :system do
it 'does not logout user', authenticated_as: :admin do
sleep 1.5
expect(page).to have_no_text('Due to inactivity you are automatically logged out.', wait: 0)
expect(page).to have_no_text('Due to inactivity, you have been automatically logged out.', wait: 0)
end
end
end

View file

@ -44,7 +44,7 @@ RSpec.describe 'System setup process', type: :system, set_up: false, authenticat
# fill in wrong URL
fill_in 'url', with: 'some host'
click_on('Next')
expect(page).to have_css('.alert', text: 'An URL looks like')
expect(page).to have_css('.alert', text: 'A URL looks like')
# fill in valild/current URL
fill_in 'url', with: app_host

View file

@ -34,7 +34,7 @@ RSpec.describe 'Manage > Integration > S/MIME', type: :system do
# add private key
click '.js-addPrivateKey'
fill_in 'Paste Private Key', with: private_key
fill_in 'Enter Private Key secret', with: private_key_secret
fill_in 'Enter Private Key Secret', with: private_key_secret
click '.js-submit'
# check result

View file

@ -76,7 +76,7 @@ RSpec.describe 'System > Objects', type: :system do
click '.js-submit'
end
expect(page).to have_text('New field')
expect(page).to have_text('Database Update required')
expect(page).to have_text('Database Update Required')
click '.js-execute', wait: 7.minutes
expect(page).to have_text('Zammad requires a restart')
page.refresh
@ -88,14 +88,14 @@ RSpec.describe 'System > Objects', type: :system do
click '.js-submit'
end
expect(page).to have_text('New field updated')
expect(page).to have_text('Database Update required')
expect(page).to have_text('Database Update Required')
click '.js-execute', wait: 7.minutes
expect(page).to have_text('please reload your browser')
click '.modal-content button.js-submit'
# Delete
click 'tbody tr:last-child .js-delete'
expect(page).to have_text('Database Update required')
expect(page).to have_text('Database Update Required')
click '.js-execute', wait: 7.minutes
expect(page).to have_text('Zammad requires a restart')
page.refresh
@ -131,7 +131,7 @@ RSpec.describe 'System > Objects', type: :system do
end
click '.js-submit'
expect(page).to have_text('Database Update required')
expect(page).to have_text('Database Update Required')
click '.js-execute', wait: 7.minutes
expect(page).to have_text('please reload your browser')
click '.modal-content button.js-submit'
@ -222,7 +222,7 @@ RSpec.describe 'System > Objects', type: :system do
2.times { find('tr:nth-child(3) .icon-trash').click }
click '.js-submit'
end
expect(page).to have_text('Database Update required')
expect(page).to have_text('Database Update Required')
click '.js-execute', wait: 7.minutes
expect(page).to have_text('please reload your browser')
click '.modal-content button.js-submit'
@ -516,14 +516,14 @@ RSpec.describe 'System > Objects', type: :system do
it 'date attribute' do
page.find('select[name=data_type]').select('Date')
fill_in 'Default time Diff (hours)', with: ''
fill_in 'Default time diff (hours)', with: ''
expect { page.find('.js-submit').click }.to change(ObjectManager::Attribute, :count).by(1)
end
it 'datetime attribute' do
page.find('select[name=data_type]').select('Datetime')
fill_in 'Default time Diff (minutes)', with: ''
fill_in 'Default time diff (minutes)', with: ''
expect { page.find('.js-submit').click }.to change(ObjectManager::Attribute, :count).by(1)
end

View file

@ -857,7 +857,7 @@ RSpec.describe 'Ticket Create', type: :system do
end
def add_email(input)
fill_in 'Cc', with: input
fill_in 'CC', with: input
send_keys(:enter) # trigger blur
find '.token', text: input # wait for email to tokenize
end

View file

@ -67,7 +67,7 @@ class AaaGettingStartedTest < TestCase
)
watch_for(
css: 'body',
value: 'An URL looks like this',
value: 'A URL looks like this',
)
set(
css: '.js-base input[name="url"]',

View file

@ -4397,7 +4397,7 @@ wait untill text in selector disabppears
watch_for(
browser: instance,
css: '.content.active',
value: 'Database Update required',
value: 'Database Update Required',
mute_log: true,
)
click(