diff --git a/app/assets/javascripts/app/controllers/_channel/chat.coffee b/app/assets/javascripts/app/controllers/_channel/chat.coffee index 3ee85be21..a62fe8497 100644 --- a/app/assets/javascripts/app/controllers/_channel/chat.coffee +++ b/app/assets/javascripts/app/controllers/_channel/chat.coffee @@ -32,7 +32,7 @@ class ChannelChat extends App.ControllerSubContent name: 'chatId' default: '1' type: 'Number' - description: __('Identifier of the chat-topic.') + description: __('Identifier of the chat topic.') } { name: 'show' diff --git a/app/assets/javascripts/app/controllers/_dashboard/first_steps_clues.coffee b/app/assets/javascripts/app/controllers/_dashboard/first_steps_clues.coffee index 6bd151608..5cbadea4b 100644 --- a/app/assets/javascripts/app/controllers/_dashboard/first_steps_clues.coffee +++ b/app/assets/javascripts/app/controllers/_dashboard/first_steps_clues.coffee @@ -11,13 +11,13 @@ class App.FirstStepsClues extends App.Controller { container: '.search-holder' headline: __('Search') - text: __('Here you can search for tickets, customers and organizations. Use the wildcard §*§ to find everything. E. g. §smi*§ or §rosent*l§. You also can use ||double quotes|| for searching phrases §"some phrase"§.') + text: __('Here you can search for tickets, customers, and organizations. Use the asterisk §*§ to find anything, e.g. §smi*§ or §rosent*l§. You also can use ||quotation marks|| for searching phrases: §"some phrase"§.') actions: [] } { container: '.user-menu .add' headline: __('Create') - text: __('Here you can create new tickets. Also if you have the permissions you can create new customers and organizations.') + text: __('Here you can create new tickets. Also, if you have the permission, you can create new customers and organizations.') actions: [ 'hover .navigation', 'hover .user-menu .add' @@ -26,7 +26,7 @@ class App.FirstStepsClues extends App.Controller { container: '.user-menu .user .dropdown-menu' headline: __('Personal Settings') - text: __('Here you can sign out, change the frontend language and see your last viewed items.') + text: __('Here you can sign out, change the frontend language, and see your last viewed items.') actions: [ 'hover .navigation', 'click .user-menu .user .js-action', @@ -36,7 +36,7 @@ class App.FirstStepsClues extends App.Controller { container: '.js-overviewsMenuItem' headline: __('Overviews') - text: __('Here you find your ticket overviews for open, assigned and escalated tickets.') + text: __('Here you find your ticket overviews for open, assigned, and escalated tickets.') actions: [ 'hover' ] diff --git a/app/assets/javascripts/app/controllers/_dashboard/stats/ticket_waiting_time.coffee b/app/assets/javascripts/app/controllers/_dashboard/stats/ticket_waiting_time.coffee index d792872da..35fb38252 100644 --- a/app/assets/javascripts/app/controllers/_dashboard/stats/ticket_waiting_time.coffee +++ b/app/assets/javascripts/app/controllers/_dashboard/stats/ticket_waiting_time.coffee @@ -7,7 +7,7 @@ class Stats extends App.ControllerDashboardStatsBase state: 'supergood' average_per_agent: 0 - data.StatsTicketWaitingTime.description = __('How long has each customer had to wait, on average, to get a response from you today?') + data.StatsTicketWaitingTime.description = __('How long did each customer have to wait, on average, to get a response from you today?') content = App.view('dashboard/stats/ticket_waiting_time')(data) if @$('.ticket_waiting_time').length > 0 diff --git a/app/assets/javascripts/app/controllers/_integration/check_mk.coffee b/app/assets/javascripts/app/controllers/_integration/check_mk.coffee index f77020b82..20d52d3dc 100644 --- a/app/assets/javascripts/app/controllers/_integration/check_mk.coffee +++ b/app/assets/javascripts/app/controllers/_integration/check_mk.coffee @@ -4,7 +4,7 @@ class CheckMk extends App.ControllerIntegrationBase featureConfig: 'check_mk_config' description: [ [__('This service receives http requests or emails from %s and creates tickets with host and service.'), 'Checkmk'] - [__('If the host and service has recovered, the ticket can be closed automatically.')] + [__('If the host and service have recovered, the ticket can be closed automatically.')] ] render: => diff --git a/app/assets/javascripts/app/controllers/_integration/cti.coffee b/app/assets/javascripts/app/controllers/_integration/cti.coffee index 6efba83fa..c58022816 100644 --- a/app/assets/javascripts/app/controllers/_integration/cti.coffee +++ b/app/assets/javascripts/app/controllers/_integration/cti.coffee @@ -261,7 +261,7 @@ App.Config.set( { name: __('CTI (generic)') target: '#system/integration/cti' - description: __('Generic API to integrate VoIP service provider with realtime push.') + description: __('Generic API to integrate VoIP service provider with real-time push.') controller: Cti state: State } diff --git a/app/assets/javascripts/app/controllers/_integration/icinga.coffee b/app/assets/javascripts/app/controllers/_integration/icinga.coffee index 9dc6c8aff..2d171c81b 100644 --- a/app/assets/javascripts/app/controllers/_integration/icinga.coffee +++ b/app/assets/javascripts/app/controllers/_integration/icinga.coffee @@ -4,7 +4,7 @@ class Icinga extends App.ControllerIntegrationBase featureConfig: 'icinga_config' description: [ [__('This service receives emails from %s and creates tickets with host and service.'), 'Icinga'] - [__('If the host and service is recovered again, the ticket will be closed automatically.')] + [__('If the host and service have recovered, the ticket can be closed automatically.')] ] render: => diff --git a/app/assets/javascripts/app/controllers/_integration/monit.coffee b/app/assets/javascripts/app/controllers/_integration/monit.coffee index 93e98d7f6..0f12c1d04 100644 --- a/app/assets/javascripts/app/controllers/_integration/monit.coffee +++ b/app/assets/javascripts/app/controllers/_integration/monit.coffee @@ -4,7 +4,7 @@ class Monit extends App.ControllerIntegrationBase featureConfig: 'monit_config' description: [ [__('This service receives emails from %s and creates tickets with host and service.'), 'Monit'] - [__('If the host and service is recovered again, the ticket will be closed automatically.')] + [__('If the host and service have recovered, the ticket can be closed automatically.')] ] render: => diff --git a/app/assets/javascripts/app/controllers/_integration/nagios.coffee b/app/assets/javascripts/app/controllers/_integration/nagios.coffee index 0e7d34f96..20ca0bbcf 100644 --- a/app/assets/javascripts/app/controllers/_integration/nagios.coffee +++ b/app/assets/javascripts/app/controllers/_integration/nagios.coffee @@ -4,7 +4,7 @@ class Nagios extends App.ControllerIntegrationBase featureConfig: 'nagios_config' description: [ [__('This service receives emails from %s and creates tickets with host and service.'), 'Nagios'] - [__('If the host and service is recovered again, the ticket will be closed automatically.')] + [__('If the host and service have recovered, the ticket can be closed automatically.')] ] render: => diff --git a/app/assets/javascripts/app/controllers/_integration/slack.coffee b/app/assets/javascripts/app/controllers/_integration/slack.coffee index 24a337ea6..dc69e8432 100644 --- a/app/assets/javascripts/app/controllers/_integration/slack.coffee +++ b/app/assets/javascripts/app/controllers/_integration/slack.coffee @@ -31,7 +31,7 @@ class Slack extends App.ControllerIntegrationBase { name: 'webhook', display: __('Webhook'), tag: 'input', type: 'url', limit: 200, 'null': false, placeholder: 'https://hooks.slack.com/services/...' }, { name: 'username', display: __('Username'), tag: 'input', type: 'text', limit: 100, 'null': false, placeholder: 'username' }, { name: 'channel', display: __('Channel'), tag: 'input', type: 'text', limit: 100, 'null': true, placeholder: '#channel' }, - { name: 'icon_url', display: __('Icon Url'), tag: 'input', type: 'url', limit: 200, 'null': true, placeholder: 'https://example.com/logo.png' }, + { name: 'icon_url', display: __('Icon URL'), tag: 'input', type: 'url', limit: 200, 'null': true, placeholder: 'https://example.com/logo.png' }, ] settings = [] diff --git a/app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee b/app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee index 0a1fd32b4..e32f696cc 100644 --- a/app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee +++ b/app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee @@ -400,13 +400,13 @@ App.Config.set( { key: '::' hotkeys: false - description: __('Inserts Text module') + description: __('Inserts text module') globalEvent: 'richtext-insert-text-module' } { key: '??' hotkeys: false - description: __('Inserts Knowledge Base answer') + description: __('Inserts knowledge base answer') globalEvent: 'richtext-insert-kb-answer' } { diff --git a/app/assets/javascripts/app/controllers/_ui_element/object_manager_attribute.coffee b/app/assets/javascripts/app/controllers/_ui_element/object_manager_attribute.coffee index 4c2975081..17aa92041 100644 --- a/app/assets/javascripts/app/controllers/_ui_element/object_manager_attribute.coffee +++ b/app/assets/javascripts/app/controllers/_ui_element/object_manager_attribute.coffee @@ -201,7 +201,7 @@ class App.UiElement.object_manager_attribute extends App.UiElement.ApplicationUi ) configureAttributes = [ # coffeelint: disable=no_interpolation_in_single_quotes - { name: 'data_option::linktemplate', display: __('Link-Template'), tag: 'input', type: 'text', null: true, default: '', placeholder: 'https://example.com/?q=#{object.attribute_name} - use ticket, user or organization as object' }, + { name: 'data_option::linktemplate', display: __('Link Template'), tag: 'input', type: 'text', null: true, default: '', placeholder: 'https://example.com/?q=#{object.attribute_name} - use ticket, user or organization as object' }, # coffeelint: enable=no_interpolation_in_single_quotes ] inputLinkTemplate = new App.ControllerForm( @@ -339,7 +339,7 @@ class App.UiElement.object_manager_attribute extends App.UiElement.ApplicationUi ) configureAttributes = [ # coffeelint: disable=no_interpolation_in_single_quotes - { name: 'data_option::linktemplate', display: __('Link-Template'), tag: 'input', type: 'text', null: true, default: '', placeholder: 'https://example.com/?q=#{ticket.attribute_name}' }, + { name: 'data_option::linktemplate', display: __('Link Template'), tag: 'input', type: 'text', null: true, default: '', placeholder: 'https://example.com/?q=#{ticket.attribute_name}' }, # coffeelint: enable=no_interpolation_in_single_quotes ] inputLinkTemplate = new App.ControllerForm( diff --git a/app/assets/javascripts/app/controllers/knowledge_base/public_menu_manager.coffee b/app/assets/javascripts/app/controllers/knowledge_base/public_menu_manager.coffee index 245a9f7ad..ecb96e103 100644 --- a/app/assets/javascripts/app/controllers/knowledge_base/public_menu_manager.coffee +++ b/app/assets/javascripts/app/controllers/knowledge_base/public_menu_manager.coffee @@ -25,13 +25,13 @@ class App.KnowledgeBasePublicMenuManager extends App.Controller [ { - headline: __('Header menu'), + headline: __('Header Menu'), identifier: 'header', color: kb.color_header, color_link: kb.color_header_link }, { - headline: __('Footer menu'), + headline: __('Footer Menu'), identifier: 'footer', color_link: 'hsl(207,12%,50%)' } diff --git a/app/assets/javascripts/app/models/chat.coffee b/app/assets/javascripts/app/models/chat.coffee index 6782fbb50..8b81dc860 100644 --- a/app/assets/javascripts/app/models/chat.coffee +++ b/app/assets/javascripts/app/models/chat.coffee @@ -250,7 +250,7 @@ class App.Chat extends App.Model @configure_attributes = [ { name: 'name', display: __('Name'), tag: 'input', type: 'text', limit: 100, null: false }, { name: 'note', display: __('Note'), tag: 'textarea', limit: 250, null: true }, - { name: 'max_queue', display: __('Max. clients in waitlist'), tag: 'input', default: 2 }, + { name: 'max_queue', display: __('Max. clients on waitlist'), tag: 'input', default: 2 }, { name: 'block_ip', display: __('Blocked IPs (separated by ;)'), tag: 'input', default: '', null: true }, { name: 'allowed_websites', display: __('Allow websites (separated by ;)'), tag: 'input', default: '', null: true }, { name: 'block_country', display: __('Blocked countries'), tag: 'column_select', multiple: true, null: true, default: '', options: @countries, seperator: ';' }, diff --git a/app/assets/javascripts/app/views/channel/chat.jst.eco b/app/assets/javascripts/app/views/channel/chat.jst.eco index 02e944ceb..6cbe1d8d7 100644 --- a/app/assets/javascripts/app/views/channel/chat.jst.eco +++ b/app/assets/javascripts/app/views/channel/chat.jst.eco @@ -154,7 +154,7 @@ $(function() { </script>

<%- @T('Manually open chat') %>

-

<%- @T('If you want to open the chat by the press of a button set the option §show§ to §false§ and add the class §open-zammad-chat§ to the button.') %>

+

<%- @T('If you want to open the chat by clicking a button, set the option §show§ to §false§ and add the class §open-zammad-chat§ to the button.') %>

<button class="open-zammad-chat">Chat with us</button>
 
 <script src="<%= @baseurl %>/assets/chat/chat.min.js"></script>
diff --git a/app/assets/javascripts/app/views/channel/email_account_wizard.jst.eco b/app/assets/javascripts/app/views/channel/email_account_wizard.jst.eco
index d3268a22c..3123eb837 100644
--- a/app/assets/javascripts/app/views/channel/email_account_wizard.jst.eco
+++ b/app/assets/javascripts/app/views/channel/email_account_wizard.jst.eco
@@ -116,7 +116,7 @@
           

<%- @T('Should the emails from this mailbox be imported as an archive or as regular emails?') %>

diff --git a/app/assets/javascripts/app/views/channel/topics.jst.eco b/app/assets/javascripts/app/views/channel/topics.jst.eco index 98fea1eaf..03e5f9f9a 100644 --- a/app/assets/javascripts/app/views/channel/topics.jst.eco +++ b/app/assets/javascripts/app/views/channel/topics.jst.eco @@ -4,7 +4,7 @@ <%- @T('chatId') %> <%- @T('Name') %> <%- @T('Note') %> - <%- @T('Max. clients in waitlist') %> + <%- @T('Max. clients on waitlist') %> <%- @T('Delete') %> diff --git a/app/assets/javascripts/app/views/getting_started/email.jst.eco b/app/assets/javascripts/app/views/getting_started/email.jst.eco index 299f57ef5..af40de069 100644 --- a/app/assets/javascripts/app/views/getting_started/email.jst.eco +++ b/app/assets/javascripts/app/views/getting_started/email.jst.eco @@ -89,7 +89,7 @@

<%- @T('Should the emails from this mailbox be imported as an archive or as regular emails?') %>

diff --git a/app/assets/javascripts/app/views/integration/cti.jst.eco b/app/assets/javascripts/app/views/integration/cti.jst.eco index efa833e05..b40250a49 100644 --- a/app/assets/javascripts/app/views/integration/cti.jst.eco +++ b/app/assets/javascripts/app/views/integration/cti.jst.eco @@ -98,7 +98,7 @@

<%- @T('Notify Map') %>

-

<%- @T('Notify certain users by matching caller ID.') %><%- @T('If no mapping is defined, all user get notified about any event.') %> +

<%- @T('Notify certain users by matching caller ID.') %><%- @T('If no mapping is defined, all users will get notified of any event.') %>

diff --git a/app/assets/javascripts/app/views/monitoring.jst.eco b/app/assets/javascripts/app/views/monitoring.jst.eco index ceea50003..87942b226 100644 --- a/app/assets/javascripts/app/views/monitoring.jst.eco +++ b/app/assets/javascripts/app/views/monitoring.jst.eco @@ -17,7 +17,7 @@

<%- @T('Health Check') %>

-

<%- @T('Health information can be retrieved as JSON using') %>:

+

<%- @T('Health information can be retrieved as JSON using:') %>

diff --git a/app/assets/javascripts/app/views/profile/token_access_created.jst.eco b/app/assets/javascripts/app/views/profile/token_access_created.jst.eco index 1e4d9ca9f..a576789f3 100644 --- a/app/assets/javascripts/app/views/profile/token_access_created.jst.eco +++ b/app/assets/javascripts/app/views/profile/token_access_created.jst.eco @@ -1,4 +1,4 @@ -

<%- @T('For security reasons, the API token is shown only once. You\'ll need to copy it somewhere safe before continuing.') %>

+

<%- @T('For security reasons, the API token is shown only once. You\'ll need to save it somewhere secure before continuing.') %>

diff --git a/app/assets/javascripts/app/views/translation/index.jst.eco b/app/assets/javascripts/app/views/translation/index.jst.eco index 9bdd8c290..cf5f5718b 100644 --- a/app/assets/javascripts/app/views/translation/index.jst.eco +++ b/app/assets/javascripts/app/views/translation/index.jst.eco @@ -21,7 +21,7 @@

<%- @T('To make translations easier you can enable and disable the inline translation feature by pressing "%s".', 'ctrl+alt+t') %>

<%- @T('Text with disabled inline translations looks like') %> 

<%- @T('Text with enabled inline translations looks like') %> 

-

<%- @T('Just click into the marker and update the words just in place. Enjoy!') %>

+

<%- @T('Just click into the highlighted area and update the words right there. Enjoy!') %>

<%- @T('If you want to translate it via the translation table, just go ahead below.') %>

diff --git a/app/controllers/long_polling_controller.rb b/app/controllers/long_polling_controller.rb index 2fd2720e6..e1870f599 100644 --- a/app/controllers/long_polling_controller.rb +++ b/app/controllers/long_polling_controller.rb @@ -56,7 +56,7 @@ class LongPollingController < ApplicationController # check client id client_id = client_id_verify - raise Exceptions::UnprocessableEntity, __('Invalid client_id receive!') if !client_id + raise Exceptions::UnprocessableEntity, __('Invalid client_id received!') if !client_id # check queue to send begin diff --git a/app/controllers/tickets_controller.rb b/app/controllers/tickets_controller.rb index 3ed13ed30..ee4668168 100644 --- a/app/controllers/tickets_controller.rb +++ b/app/controllers/tickets_controller.rb @@ -183,7 +183,7 @@ class TicketsController < ApplicationController raise Exceptions::UnprocessableEntity, __('Invalid link structure (Object)') if !link_types_with_object_ids.is_a? Hash link_types_with_object_ids.each do |link_type, object_ids| - raise Exceptions::UnprocessableEntity, __('Invalid link structure (Object->LinkType)') if !object_ids.is_a? Array + raise Exceptions::UnprocessableEntity, __('Invalid link structure (Object → LinkType)') if !object_ids.is_a? Array object_ids.each do |local_object_id| link = Link.add( diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 4f41e74ea..1310a5a41 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -771,12 +771,12 @@ curl http://localhost/api/v1/users/avatar -v -u #{login}:#{password} -H "Content begin file_full = StaticAssets.data_url_attributes(params[:avatar_full]) rescue - render json: { error: __('Full size image is invalid') }, status: :unprocessable_entity + render json: { error: __('Full-size image is invalid') }, status: :unprocessable_entity return end if ActiveStorage::Variant::WEB_IMAGE_CONTENT_TYPES.exclude?(file_full[:mime_type]) - render json: { error: __('Mime type is invalid') }, status: :unprocessable_entity + render json: { error: __('MIME type is invalid') }, status: :unprocessable_entity return end diff --git a/app/views/mailer/application.html.erb b/app/views/mailer/application.html.erb index 858bdd5d3..bdc8d258a 100644 --- a/app/views/mailer/application.html.erb +++ b/app/views/mailer/application.html.erb @@ -47,7 +47,7 @@ <% reason.gsub!('%s', reason_item) %> <%= reason %> | <% end %> - <%= t 'Manage your notifications settings' %> + <%= t 'Manage your notification settings' %> <% if c('organization').present? %>| <%= c 'organization' %><% end %> <% end %> diff --git a/i18n/zammad.pot b/i18n/zammad.pot index 8d98aad2b..fa85d8810 100644 --- a/i18n/zammad.pot +++ b/i18n/zammad.pot @@ -4023,12 +4023,12 @@ msgstr "" msgid "Font size" msgstr "" -#: app/assets/javascripts/app/models/knowledge_base.coffee -msgid "Footer Note" +#: app/assets/javascripts/app/controllers/knowledge_base/public_menu_manager.coffee +msgid "Footer Menu" msgstr "" -#: app/assets/javascripts/app/controllers/knowledge_base/public_menu_manager.coffee -msgid "Footer menu" +#: app/assets/javascripts/app/models/knowledge_base.coffee +msgid "Footer Note" msgstr "" #: app/assets/javascripts/app/views/dashboard.jst.eco @@ -4036,7 +4036,7 @@ 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." +msgid "For security reasons, the API token is shown only once. You'll need to save it somewhere secure before continuing." msgstr "" #: app/assets/javascripts/app/views/login.jst.eco @@ -4130,7 +4130,7 @@ msgid "Full Name" msgstr "" #: app/controllers/users_controller.rb -msgid "Full size image is invalid" +msgid "Full-size image is invalid" msgstr "" #: db/seeds/settings.rb @@ -4171,7 +4171,7 @@ msgid "Generate user based stats." msgstr "" #: app/assets/javascripts/app/controllers/_integration/cti.coffee -msgid "Generic API to integrate VoIP service provider with realtime push." +msgid "Generic API to integrate VoIP service provider with real-time push." msgstr "" #: db/seeds/settings.rb @@ -4456,7 +4456,7 @@ msgid "Header Link Color" msgstr "" #: app/assets/javascripts/app/controllers/knowledge_base/public_menu_manager.coffee -msgid "Header menu" +msgid "Header Menu" msgstr "" #: app/assets/javascripts/app/views/monitoring.jst.eco @@ -4464,7 +4464,7 @@ msgid "Health Check" msgstr "" #: app/assets/javascripts/app/views/monitoring.jst.eco -msgid "Health information can be retrieved as JSON using" +msgid "Health information can be retrieved as JSON using:" msgstr "" #: app/assets/javascripts/app/views/channel/chat.jst.eco @@ -4484,7 +4484,7 @@ msgid "Here you can add further links to your public FAQ page, which will be dis msgstr "" #: app/assets/javascripts/app/controllers/_dashboard/first_steps_clues.coffee -msgid "Here you can create new tickets. Also if you have the permissions you can create new customers and organizations." +msgid "Here you can create new tickets. Also, if you have the permission, you can create new customers and organizations." msgstr "" #: app/assets/javascripts/app/controllers/customer_ticket_create.coffee @@ -4492,11 +4492,11 @@ msgid "Here you can create one." msgstr "" #: app/assets/javascripts/app/controllers/_dashboard/first_steps_clues.coffee -msgid "Here you can search for tickets, customers and organizations. Use the wildcard §*§ to find everything. E. g. §smi*§ or §rosent*l§. You also can use ||double quotes|| for searching phrases §\"some phrase\"§." +msgid "Here you can search for tickets, customers, and organizations. Use the asterisk §*§ to find anything, e.g. §smi*§ or §rosent*l§. You also can use ||quotation marks|| for searching phrases: §\"some phrase\"§." msgstr "" #: app/assets/javascripts/app/controllers/_dashboard/first_steps_clues.coffee -msgid "Here you can sign out, change the frontend language and see your last viewed items." +msgid "Here you can sign out, change the frontend language, and see your last viewed items." msgstr "" #: app/assets/javascripts/app/views/object_manager/attribute.jst.eco @@ -4504,7 +4504,7 @@ msgid "Here you define which authorization has access to the attribute." msgstr "" #: app/assets/javascripts/app/controllers/_dashboard/first_steps_clues.coffee -msgid "Here you find your ticket overviews for open, assigned and escalated tickets." +msgid "Here you find your ticket overviews for open, assigned, and escalated tickets." msgstr "" #: app/assets/javascripts/app/controllers/_dashboard/first_steps_clues.coffee @@ -4588,7 +4588,7 @@ msgid "How can we help you? Search for an answer or a topic..." msgstr "" #: app/assets/javascripts/app/controllers/_dashboard/stats/ticket_waiting_time.coffee -msgid "How long has each customer had to wait, on average, to get a response from you today?" +msgid "How long did each customer have to wait, on average, to get a response from you today?" msgstr "" #: app/assets/javascripts/app/controllers/_dashboard/stats/ticket_escalation.coffee @@ -4649,11 +4649,11 @@ msgid "Icon Set" msgstr "" #: app/assets/javascripts/app/controllers/_integration/slack.coffee -msgid "Icon Url" +msgid "Icon URL" msgstr "" #: app/assets/javascripts/app/controllers/_channel/chat.coffee -msgid "Identifier of the chat-topic." +msgid "Identifier of the chat topic." msgstr "" #: db/seeds/settings.rb @@ -4665,17 +4665,14 @@ msgid "If left empty, the host gets auto-detected - in this case %s. The auto-de msgstr "" #: app/assets/javascripts/app/views/integration/cti.jst.eco -msgid "If no mapping is defined, all user get notified about any event." +msgid "If no mapping is defined, all users will get notified of any event." msgstr "" #: app/assets/javascripts/app/controllers/_integration/check_mk.coffee -msgid "If the host and service has recovered, the ticket can be closed automatically." -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 "If the host and service is recovered again, the ticket will be closed automatically." +msgid "If the host and service have recovered, the ticket can be closed automatically." msgstr "" #: db/seeds/settings.rb @@ -4700,7 +4697,7 @@ msgid "If you want to move already stored attachments from one backend to anothe msgstr "" #: app/assets/javascripts/app/views/channel/chat.jst.eco -msgid "If you want to open the chat by the press of a button set the option §show§ to §false§ and add the class §open-zammad-chat§ to the button." +msgid "If you want to open the chat by clicking a button, set the option §show§ to §false§ and add the class §open-zammad-chat§ to the button." msgstr "" #: app/assets/javascripts/app/views/translation/index.jst.eco @@ -4806,7 +4803,7 @@ msgstr "" #: app/assets/javascripts/app/views/channel/email_account_wizard.jst.eco #: app/assets/javascripts/app/views/getting_started/email.jst.eco -msgid "Import as archive: |No notifications are sent|, the |tickets are closed| and original timestamps are used. You can still find them in Zammad using the search." +msgid "Import as archive: |No notifications are sent|, the |tickets are closed|, and original timestamps are used. You can still find them in Zammad using the search." msgstr "" #: app/assets/javascripts/app/views/channel/email_account_wizard.jst.eco @@ -4937,14 +4934,6 @@ msgstr "" msgid "Insert the widget code into the source code of every page the chat shall be visible on. It should be placed at the end of the page's source code before the §§ closing tag." msgstr "" -#: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee -msgid "Inserts Knowledge Base answer" -msgstr "" - -#: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee -msgid "Inserts Text module" -msgstr "" - #: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee msgid "Inserts a horizontal rule" msgstr "" @@ -4953,6 +4942,14 @@ msgstr "" msgid "Inserts a mention for a user" msgstr "" +#: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee +msgid "Inserts knowledge base answer" +msgstr "" + +#: app/assets/javascripts/app/controllers/_plugin/keyboard_shortcuts.coffee +msgid "Inserts text module" +msgstr "" + #: app/assets/javascripts/app/views/package.jst.eco msgid "Install Package" msgstr "" @@ -5024,7 +5021,7 @@ msgid "Invalid client_id in receive loop!" msgstr "" #: app/controllers/long_polling_controller.rb -msgid "Invalid client_id receive!" +msgid "Invalid client_id received!" msgstr "" #: app/controllers/import_freshdesk_controller.rb @@ -5056,11 +5053,11 @@ msgid "Invalid link structure" msgstr "" #: app/controllers/tickets_controller.rb -msgid "Invalid link structure (Object)" +msgid "Invalid link structure (Object → LinkType)" msgstr "" #: app/controllers/tickets_controller.rb -msgid "Invalid link structure (Object->LinkType)" +msgid "Invalid link structure (Object)" msgstr "" #: app/controllers/mentions_controller.rb @@ -5192,7 +5189,7 @@ msgid "June" msgstr "" #: app/assets/javascripts/app/views/translation/index.jst.eco -msgid "Just click into the marker and update the words just in place. Enjoy!" +msgid "Just click into the highlighted area and update the words right there. Enjoy!" msgstr "" #: app/assets/javascripts/app/controllers/_profile/notification.coffee @@ -5422,6 +5419,10 @@ msgstr "" msgid "Link Related Answer" msgstr "" +#: app/assets/javascripts/app/controllers/_ui_element/object_manager_attribute.coffee +msgid "Link Template" +msgstr "" + #: app/assets/javascripts/app/controllers/ticket_zoom/sidebar_git_issue.coffee msgid "Link issue" msgstr "" @@ -5430,10 +5431,6 @@ msgstr "" msgid "Link type is needed!" msgstr "" -#: app/assets/javascripts/app/controllers/_ui_element/object_manager_attribute.coffee -msgid "Link-Template" -msgstr "" - #: app/assets/javascripts/app/controllers/_profile/linked_accounts.coffee #: app/assets/javascripts/app/views/popover/user.jst.eco #: app/assets/javascripts/app/views/widget/user.jst.eco @@ -5529,6 +5526,10 @@ msgstr "" msgid "Lost network connection!" msgstr "" +#: app/controllers/users_controller.rb +msgid "MIME type is invalid" +msgstr "" + #: app/assets/javascripts/app/controllers/macro.coffee msgid "Macro" msgstr "" @@ -5581,7 +5582,7 @@ msgid "Manage applications that can use Zammad as an OAuth provider and applicat msgstr "" #: app/views/mailer/application.html.erb -msgid "Manage your notifications settings" +msgid "Manage your notification settings" msgstr "" #: app/assets/javascripts/app/views/api.jst.eco @@ -5642,7 +5643,7 @@ msgstr "" #: app/assets/javascripts/app/models/chat.coffee #: app/assets/javascripts/app/views/channel/topics.jst.eco -msgid "Max. clients in waitlist" +msgid "Max. clients on waitlist" msgstr "" #: app/assets/javascripts/app/views/customer_chat/setting.jst.eco @@ -5766,10 +5767,6 @@ msgstr "" msgid "Milestone" msgstr "" -#: app/controllers/users_controller.rb -msgid "Mime type is invalid" -msgstr "" - #: app/models/postmaster_filter.rb msgid "Min. one match rule needed!" msgstr "" diff --git a/public/assets/tests/qunit/i18n.js b/public/assets/tests/qunit/i18n.js index 54b181777..05bec3492 100644 --- a/public/assets/tests/qunit/i18n.js +++ b/public/assets/tests/qunit/i18n.js @@ -196,8 +196,8 @@ QUnit.test('i18n', assert => { translated = App.i18n.translateContent('§%s§ %s test', 123, 'xxx') assert.equal(translated, '123 xxx test', 'en-us - §%s§ %s') - translated = App.i18n.translateContent('Here you can search for tickets, customers and organizations. Use the wildcard §*§ to find everything. E. g. §smi*§ or §rosent*l§. You also can use ||double quotes|| for searching phrases §"some phrase"§.') - assert.equal(translated, 'Here you can search for tickets, customers and organizations. Use the wildcard * to find everything. E. g. smi* or rosent*l. You also can use double quotes for searching phrases "some phrase".', 'en-us - §§ §§ §§ || §§') + translated = App.i18n.translateContent('Here you can search for tickets, customers, and organizations. Use the asterisk §*§ to find anything, e.g. §smi*§ or §rosent*l§. You also can use ||quotation marks|| for searching phrases: §"some phrase"§.') + assert.equal(translated, 'Here you can search for tickets, customers, and organizations. Use the asterisk * to find anything, e.g. smi* or rosent*l. You also can use quotation marks for searching phrases: "some phrase".', 'en-us - §§ §§ §§ || §§') translated = App.i18n.translateContent('//%s// %s test', 123, 'xxx') assert.equal(translated, '123 xxx test', 'en-us - //%s// %s') diff --git a/spec/requests/long_polling_spec.rb b/spec/requests/long_polling_spec.rb index 0e765c1c9..f359eb346 100644 --- a/spec/requests/long_polling_spec.rb +++ b/spec/requests/long_polling_spec.rb @@ -21,7 +21,7 @@ RSpec.describe 'LongPolling', type: :request do get '/api/v1/message_receive', params: { data: {} }, as: :json expect(response).to have_http_status(:unprocessable_entity) expect(json_response).to be_a_kind_of(Hash) - expect(json_response['error']).to eq('Invalid client_id receive!') + expect(json_response['error']).to eq('Invalid client_id received!') end it 'send without client_id - no user login' do @@ -39,7 +39,7 @@ RSpec.describe 'LongPolling', type: :request do get '/api/v1/message_receive', params: { client_id: client_id, data: {} }, as: :json expect(response).to have_http_status(:unprocessable_entity) expect(json_response).to be_a_kind_of(Hash) - expect(json_response['error']).to eq('Invalid client_id receive!') + expect(json_response['error']).to eq('Invalid client_id received!') end it 'receive without client_id' do @@ -47,7 +47,7 @@ RSpec.describe 'LongPolling', type: :request do get '/api/v1/message_receive', params: { data: {} }, as: :json expect(response).to have_http_status(:unprocessable_entity) expect(json_response).to be_a_kind_of(Hash) - expect(json_response['error']).to eq('Invalid client_id receive!') + expect(json_response['error']).to eq('Invalid client_id received!') end it 'receive without wrong client_id' do @@ -55,7 +55,7 @@ RSpec.describe 'LongPolling', type: :request do get '/api/v1/message_receive', params: { client_id: 'not existing', data: {} }, as: :json expect(response).to have_http_status(:unprocessable_entity) expect(json_response).to be_a_kind_of(Hash) - expect(json_response['error']).to eq('Invalid client_id receive!') + expect(json_response['error']).to eq('Invalid client_id received!') end it 'send without client_id' do diff --git a/spec/requests/user_spec.rb b/spec/requests/user_spec.rb index 0071d7e09..1f63b2c7b 100644 --- a/spec/requests/user_spec.rb +++ b/spec/requests/user_spec.rb @@ -1523,7 +1523,7 @@ RSpec.describe 'User', type: :request do it 'returns verbose error for a not allowed mime-type' do make_request(avatar_full: base64) - expect(json_response).to include('error' => 'Mime type is invalid') + expect(json_response).to include('error' => 'MIME type is invalid') end end end diff --git a/spec/system/admin/knowledge_base/public_menu_spec.rb b/spec/system/admin/knowledge_base/public_menu_spec.rb index 936518e62..dfbd50c79 100644 --- a/spec/system/admin/knowledge_base/public_menu_spec.rb +++ b/spec/system/admin/knowledge_base/public_menu_spec.rb @@ -13,10 +13,10 @@ RSpec.describe 'Admin Panel > Knowledge Base > Public Menu', type: :system do find('a', text: 'Public Menu').click end - it { expect(find_locale('Footer menu', alternative_locale).text).to include menu_item_4.title } - it { expect(find_locale('Header menu', primary_locale).text).to include menu_item_1.title } - it { expect(find_locale('Header menu', alternative_locale).text).not_to include menu_item_2.title } - it { expect(find_locale('Header menu', primary_locale).text).to include menu_item_2.title } + it { expect(find_locale('Footer Menu', alternative_locale).text).to include menu_item_4.title } + it { expect(find_locale('Header Menu', primary_locale).text).to include menu_item_1.title } + it { expect(find_locale('Header Menu', alternative_locale).text).not_to include menu_item_2.title } + it { expect(find_locale('Header Menu', primary_locale).text).to include menu_item_2.title } end context 'menu items color' do @@ -45,7 +45,7 @@ RSpec.describe 'Admin Panel > Knowledge Base > Public Menu', type: :system do before do visit '/#manage/knowledge_base' find('a', text: 'Public Menu').click - find_location('Header menu').find('a', text: 'Edit').click + find_location('Header Menu').find('a', text: 'Edit').click modal_ready end @@ -56,7 +56,7 @@ RSpec.describe 'Admin Panel > Knowledge Base > Public Menu', type: :system do modal_disappear - expect(find_locale('Header menu', primary_locale).text).to include 'test menu' + expect(find_locale('Header Menu', primary_locale).text).to include 'test menu' end it 'adds menu item' do @@ -70,7 +70,7 @@ RSpec.describe 'Admin Panel > Knowledge Base > Public Menu', type: :system do modal_disappear - expect(find_locale('Header menu', alternative_locale).text).to include 'new item' + expect(find_locale('Header Menu', alternative_locale).text).to include 'new item' end it 'deletes menu item' do @@ -84,7 +84,7 @@ RSpec.describe 'Admin Panel > Knowledge Base > Public Menu', type: :system do modal_disappear - expect(find_locale('Header menu', alternative_locale).text).not_to include menu_item_1.title + expect(find_locale('Header Menu', alternative_locale).text).not_to include menu_item_1.title end end diff --git a/test/unit/notification_factory_mailer_template_test.rb b/test/unit/notification_factory_mailer_template_test.rb index a5be44a71..de55b752e 100644 --- a/test/unit/notification_factory_mailer_template_test.rb +++ b/test/unit/notification_factory_mailer_template_test.rb @@ -121,7 +121,7 @@ class NotificationFactoryMailerTemplateTest < ActiveSupport::TestCase assert_match('Notification<b>xxx</b>', result[:body]) assert_match('has been created by', result[:body]) assert_match('<b>test123</b>', result[:body]) - assert_match('Manage your notifications settings', result[:body]) + assert_match('Manage your notification settings', result[:body]) assert_no_match('Dein', result[:body]) assert_no_match('longname', result[:body]) assert_match('Current User', result[:body]) @@ -141,7 +141,7 @@ class NotificationFactoryMailerTemplateTest < ActiveSupport::TestCase assert_match('Notification<b>xxx</b>', result[:body]) assert_match('es wurde ein neues Ticket', result[:body]) assert_match('<b>test123</b>', result[:body]) - assert_match('Benachrichtigungseinstellungen Verwalten', result[:body]) + assert_match(Translation.translate('de-de', 'Manage your notification settings'), result[:body]) assert_no_match('Your', result[:body]) assert_no_match('longname', result[:body]) assert_match('Current User', result[:body]) @@ -177,7 +177,7 @@ class NotificationFactoryMailerTemplateTest < ActiveSupport::TestCase assert_match('Notification<b>xxx</b>', result[:body]) assert_match('has been updated by', result[:body]) assert_match('test123', result[:body]) - assert_match('Manage your notifications settings', result[:body]) + assert_match('Manage your notification settings', result[:body]) assert_no_match('Dein', result[:body]) assert_no_match('longname', result[:body]) assert_match('Current User', result[:body]) @@ -197,7 +197,7 @@ class NotificationFactoryMailerTemplateTest < ActiveSupport::TestCase assert_match('Notification<b>xxx</b>', result[:body]) assert_match('wurde von', result[:body]) assert_match('test123', result[:body]) - assert_match('Benachrichtigungseinstellungen Verwalten', result[:body]) + assert_match(Translation.translate('de-de', 'Manage your notification settings'), result[:body]) assert_no_match('Your', result[:body]) assert_no_match('longname', result[:body]) assert_match('Current User', result[:body]) @@ -217,7 +217,7 @@ class NotificationFactoryMailerTemplateTest < ActiveSupport::TestCase assert_match('Notification<b>xxx</b>', result[:body]) assert_match('wurde von', result[:body]) assert_match('test123', result[:body]) - assert_match('Benachrichtigungseinstellungen Verwalten', result[:body]) + assert_match(Translation.translate('de-de', 'Manage your notification settings'), result[:body]) assert_no_match('Your', result[:body]) assert_no_match('longname', result[:body]) assert_match('Current User', result[:body]) @@ -237,7 +237,7 @@ class NotificationFactoryMailerTemplateTest < ActiveSupport::TestCase assert_match('Notification<b>xxx</b>', result[:body]) assert_match('has been updated by', result[:body]) assert_match('test123', result[:body]) - assert_match('Manage your notifications settings', result[:body]) + assert_match('Manage your notification settings', result[:body]) assert_no_match('Dein', result[:body]) assert_no_match('longname', result[:body]) assert_match('Current User', result[:body]) @@ -257,7 +257,7 @@ class NotificationFactoryMailerTemplateTest < ActiveSupport::TestCase assert_match('Notification<b>xxx</b>', result[:body]) assert_match('foi atualizado por', result[:body]) assert_match('test123', result[:body]) - assert_match('Manage your notifications settings', result[:body]) + assert_match('Manage your notification settings', result[:body]) assert_no_match('Dein', result[:body]) assert_no_match('longname', result[:body]) assert_match('Current User', result[:body])