pr2480 - Added Finnish translation to the chat UI. Huge thanks to @ismism48!

This commit is contained in:
Billy Zhou 2019-02-25 15:53:02 +01:00 committed by Thorsten Eckel
parent 8831b57b9b
commit c9f3641cad
6 changed files with 135 additions and 82 deletions

View file

@ -237,6 +237,23 @@ do(window) ->
'Since you didn\'t respond in the last %s minutes your conversation with <strong>%s</strong> got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación con <strong>%s</strong> se ha cerrado.' 'Since you didn\'t respond in the last %s minutes your conversation with <strong>%s</strong> got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación con <strong>%s</strong> se ha cerrado.'
'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación se ha cerrado.' 'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación se ha cerrado.'
'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Lo sentimos, se tarda más tiempo de lo esperado para ser atendido por un agente. Inténtelo de nuevo más tarde o envíenos un correo electrónico. ¡Gracias!' 'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Lo sentimos, se tarda más tiempo de lo esperado para ser atendido por un agente. Inténtelo de nuevo más tarde o envíenos un correo electrónico. ¡Gracias!'
'fi':
'<strong>Chat</strong> with us!': '<strong>Keskustele</strong> kanssamme!'
'Scroll down to see new messages': 'Rullaa alas nähdäksesi uudet viestit'
'Online': 'Paikalla'
'Offline': 'Poissa'
'Connecting': 'Yhdistetään'
'Connection re-established': 'Yhteys muodostettu uudelleen'
'Today': 'Tänään'
'Send': 'Lähetä'
'Chat closed by %s': '%s sulki keskustelun'
'Compose your message...': 'Luo viestisi...'
'All colleagues are busy.': 'Kaikki kollegat ovat varattuja.'
'You are on waiting list position <strong>%s</strong>.': 'Olet odotuslistalla sijalla <strong>%s</strong>.'
'Start new conversation': 'Aloita uusi keskustelu'
'Since you didn\'t respond in the last %s minutes your conversation with <strong>%s</strong> got closed.': 'Koska et vastannut viimeiseen %s minuuttiin, keskustelusi <strong>%s</strong> kanssa suljettiin.'
'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Koska et vastannut viimeiseen %s minuuttiin, keskustelusi suljettiin.'
'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Olemme pahoillamme, tyhjän paikan vapautumisessa kestää odotettua pidempään. Ole hyvä ja yritä myöhemmin uudestaan tai lähetä meille sähköpostia. Kiitos!'
'fr': 'fr':
'<strong>Chat</strong> with us!': '<strong>Chattez</strong> avec nous!' '<strong>Chat</strong> with us!': '<strong>Chattez</strong> avec nous!'
'Scroll down to see new messages': 'Faites défiler pour lire les nouveaux messages' 'Scroll down to see new messages': 'Faites défiler pour lire les nouveaux messages'

View file

@ -445,6 +445,24 @@ var extend = function(child, parent) { for (var key in parent) { if (hasProp.cal
'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación se ha cerrado.', 'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación se ha cerrado.',
'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Lo sentimos, se tarda más tiempo de lo esperado para ser atendido por un agente. Inténtelo de nuevo más tarde o envíenos un correo electrónico. ¡Gracias!' 'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Lo sentimos, se tarda más tiempo de lo esperado para ser atendido por un agente. Inténtelo de nuevo más tarde o envíenos un correo electrónico. ¡Gracias!'
}, },
'fi': {
'<strong>Chat</strong> with us!': '<strong>Keskustele</strong> kanssamme!',
'Scroll down to see new messages': 'Rullaa alas nähdäksesi uudet viestit',
'Online': 'Paikalla',
'Offline': 'Poissa',
'Connecting': 'Yhdistetään',
'Connection re-established': 'Yhteys muodostettu uudelleen',
'Today': 'Tänään',
'Send': 'Lähetä',
'Chat closed by %s': '%s sulki keskustelun',
'Compose your message...': 'Luo viestisi...',
'All colleagues are busy.': 'Kaikki kollegat ovat varattuja.',
'You are on waiting list position <strong>%s</strong>.': 'Olet odotuslistalla sijalla <strong>%s</strong>.',
'Start new conversation': 'Aloita uusi keskustelu',
'Since you didn\'t respond in the last %s minutes your conversation with <strong>%s</strong> got closed.': 'Koska et vastannut viimeiseen %s minuuttiin, keskustelusi <strong>%s</strong> kanssa suljettiin.',
'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Koska et vastannut viimeiseen %s minuuttiin, keskustelusi suljettiin.',
'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Olemme pahoillamme, tyhjän paikan vapautumisessa kestää odotettua pidempään. Ole hyvä ja yritä myöhemmin uudestaan tai lähetä meille sähköpostia. Kiitos!'
},
'fr': { 'fr': {
'<strong>Chat</strong> with us!': '<strong>Chattez</strong> avec nous!', '<strong>Chat</strong> with us!': '<strong>Chattez</strong> avec nous!',
'Scroll down to see new messages': 'Faites défiler pour lire les nouveaux messages', 'Scroll down to see new messages': 'Faites défiler pour lire les nouveaux messages',
@ -658,7 +676,7 @@ var extend = function(child, parent) { for (var key in parent) { if (hasProp.cal
this.send = bind(this.send, this); this.send = bind(this.send, this);
this.onKeydown = bind(this.onKeydown, this); this.onKeydown = bind(this.onKeydown, this);
this.onPaste = bind(this.onPaste, this); this.onPaste = bind(this.onPaste, this);
this.onPaste = bind(this.onPaste, this); this.onDrop = bind(this.onDrop, this);
this.render = bind(this.render, this); this.render = bind(this.render, this);
this.view = bind(this.view, this); this.view = bind(this.view, this);
this.T = bind(this.T, this); this.T = bind(this.T, this);
@ -778,7 +796,7 @@ var extend = function(child, parent) { for (var key in parent) { if (hasProp.cal
return event.stopPropagation(); return event.stopPropagation();
}; };
ZammadChat.prototype.onPaste = function(e) { ZammadChat.prototype.onDrop = function(e) {
var dataTransfer, file, reader, x, y; var dataTransfer, file, reader, x, y;
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();

File diff suppressed because one or more lines are too long

View file

@ -235,6 +235,23 @@ do($ = window.jQuery, window) ->
'Since you didn\'t respond in the last %s minutes your conversation with <strong>%s</strong> got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación con <strong>%s</strong> se ha cerrado.' 'Since you didn\'t respond in the last %s minutes your conversation with <strong>%s</strong> got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación con <strong>%s</strong> se ha cerrado.'
'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación se ha cerrado.' 'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación se ha cerrado.'
'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Lo sentimos, se tarda más tiempo de lo esperado para ser atendido por un agente. Inténtelo de nuevo más tarde o envíenos un correo electrónico. ¡Gracias!' 'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Lo sentimos, se tarda más tiempo de lo esperado para ser atendido por un agente. Inténtelo de nuevo más tarde o envíenos un correo electrónico. ¡Gracias!'
'fi':
'<strong>Chat</strong> with us!': '<strong>Keskustele</strong> kanssamme!'
'Scroll down to see new messages': 'Rullaa alas nähdäksesi uudet viestit'
'Online': 'Paikalla'
'Offline': 'Poissa'
'Connecting': 'Yhdistetään'
'Connection re-established': 'Yhteys muodostettu uudelleen'
'Today': 'Tänään'
'Send': 'Lähetä'
'Chat closed by %s': '%s sulki keskustelun'
'Compose your message...': 'Luo viestisi...'
'All colleagues are busy.': 'Kaikki kollegat ovat varattuja.'
'You are on waiting list position <strong>%s</strong>.': 'Olet odotuslistalla sijalla <strong>%s</strong>.'
'Start new conversation': 'Aloita uusi keskustelu'
'Since you didn\'t respond in the last %s minutes your conversation with <strong>%s</strong> got closed.': 'Koska et vastannut viimeiseen %s minuuttiin, keskustelusi <strong>%s</strong> kanssa suljettiin.'
'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Koska et vastannut viimeiseen %s minuuttiin, keskustelusi suljettiin.'
'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Olemme pahoillamme, tyhjän paikan vapautumisessa kestää odotettua pidempään. Ole hyvä ja yritä myöhemmin uudestaan tai lähetä meille sähköpostia. Kiitos!'
'fr': 'fr':
'<strong>Chat</strong> with us!': '<strong>Chattez</strong> avec nous!' '<strong>Chat</strong> with us!': '<strong>Chattez</strong> avec nous!'
'Scroll down to see new messages': 'Faites défiler pour lire les nouveaux messages' 'Scroll down to see new messages': 'Faites défiler pour lire les nouveaux messages'
@ -354,23 +371,6 @@ do($ = window.jQuery, window) ->
'Since you didn\'t respond in the last %s minutes your conversation with %s got closed.': 'Поскольку вы не отвечали в течение последних %s минут, ваш разговор с %s был закрыт.' 'Since you didn\'t respond in the last %s minutes your conversation with %s got closed.': 'Поскольку вы не отвечали в течение последних %s минут, ваш разговор с %s был закрыт.'
'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Поскольку вы не отвечали в течение последних %s минут, ваш разговор был закрыт.' 'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Поскольку вы не отвечали в течение последних %s минут, ваш разговор был закрыт.'
'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'К сожалению, ожидание свободного места требует больше времени. Повторите попытку позже или отправьте нам электронное письмо. Спасибо!' 'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'К сожалению, ожидание свободного места требует больше времени. Повторите попытку позже или отправьте нам электронное письмо. Спасибо!'
'fi':
'<strong>Chat</strong> with us!': '<strong>Keskustele</strong> kanssamme!'
'Scroll down to see new messages': 'Rullaa alas nähdäksesi uudet viestit'
'Online': 'Paikalla'
'Offline': 'Poissa'
'Connecting': 'Yhdistetään'
'Connection re-established': 'Yhteys muodostettu uudelleen'
'Today': 'Tänään'
'Send': 'Lähetä'
'Chat closed by %s': '%s sulki keskustelun'
'Compose your message...': 'Luo viestisi...'
'All colleagues are busy.': 'Kaikki kollegat ovat varattuja.'
'You are on waiting list position <strong>%s</strong>.': 'Olet odotuslistalla sijalla <strong>%s</strong>.'
'Start new conversation': 'Aloita uusi keskustelu'
'Since you didn\'t respond in the last %s minutes your conversation with <strong>%s</strong> got closed.': 'Koska et vastannut viimeiseen %s minuuttiin, keskustelusi <strong>%s</strong> kanssa suljettiin.'
'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Koska et vastannut viimeiseen %s minuuttiin, keskustelusi suljettiin.'
'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Olemme pahoillamme, tyhjän paikan vapautumisessa kestää odotettua pidempään. Ole hyvä ja yritä myöhemmin uudestaan tai lähetä meille sähköpostia. Kiitos!'
sessionId: undefined sessionId: undefined
scrolledToBottom: true scrolledToBottom: true
scrollSnapTolerance: 10 scrollSnapTolerance: 10

View file

@ -1,3 +1,64 @@
if (!window.zammadChatTemplates) {
window.zammadChatTemplates = {};
}
window.zammadChatTemplates["agent"] = function (__obj) {
if (!__obj) __obj = {};
var __out = [], __capture = function(callback) {
var out = __out, result;
__out = [];
callback.call(this);
result = __out.join('');
__out = out;
return __safe(result);
}, __sanitize = function(value) {
if (value && value.ecoSafe) {
return value;
} else if (typeof value !== 'undefined' && value != null) {
return __escape(value);
} else {
return '';
}
}, __safe, __objSafe = __obj.safe, __escape = __obj.escape;
__safe = __obj.safe = function(value) {
if (value && value.ecoSafe) {
return value;
} else {
if (!(typeof value !== 'undefined' && value != null)) value = '';
var result = new String(value);
result.ecoSafe = true;
return result;
}
};
if (!__escape) {
__escape = __obj.escape = function(value) {
return ('' + value)
.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;');
};
}
(function() {
(function() {
if (this.agent.avatar) {
__out.push('\n<img class="zammad-chat-agent-avatar" src="');
__out.push(__sanitize(this.agent.avatar));
__out.push('">\n');
}
__out.push('\n<span class="zammad-chat-agent-sentence">\n <span class="zammad-chat-agent-name">');
__out.push(__sanitize(this.agent.name));
__out.push('</span>\n</span>');
}).call(this);
}).call(__obj);
__obj.safe = __objSafe, __obj.escape = __escape;
return __out.join('');
};
var bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }, var bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
slice = [].slice, slice = [].slice,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
@ -363,6 +424,24 @@ var bind = function(fn, me){ return function(){ return fn.apply(me, arguments);
'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación se ha cerrado.', 'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Puesto que usted no respondió en los últimos %s minutos su conversación se ha cerrado.',
'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Lo sentimos, se tarda más tiempo de lo esperado para ser atendido por un agente. Inténtelo de nuevo más tarde o envíenos un correo electrónico. ¡Gracias!' 'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Lo sentimos, se tarda más tiempo de lo esperado para ser atendido por un agente. Inténtelo de nuevo más tarde o envíenos un correo electrónico. ¡Gracias!'
}, },
'fi': {
'<strong>Chat</strong> with us!': '<strong>Keskustele</strong> kanssamme!',
'Scroll down to see new messages': 'Rullaa alas nähdäksesi uudet viestit',
'Online': 'Paikalla',
'Offline': 'Poissa',
'Connecting': 'Yhdistetään',
'Connection re-established': 'Yhteys muodostettu uudelleen',
'Today': 'Tänään',
'Send': 'Lähetä',
'Chat closed by %s': '%s sulki keskustelun',
'Compose your message...': 'Luo viestisi...',
'All colleagues are busy.': 'Kaikki kollegat ovat varattuja.',
'You are on waiting list position <strong>%s</strong>.': 'Olet odotuslistalla sijalla <strong>%s</strong>.',
'Start new conversation': 'Aloita uusi keskustelu',
'Since you didn\'t respond in the last %s minutes your conversation with <strong>%s</strong> got closed.': 'Koska et vastannut viimeiseen %s minuuttiin, keskustelusi <strong>%s</strong> kanssa suljettiin.',
'Since you didn\'t respond in the last %s minutes your conversation got closed.': 'Koska et vastannut viimeiseen %s minuuttiin, keskustelusi suljettiin.',
'We are sorry, it takes longer as expected to get an empty slot. Please try again later or send us an email. Thank you!': 'Olemme pahoillamme, tyhjän paikan vapautumisessa kestää odotettua pidempään. Ole hyvä ja yritä myöhemmin uudestaan tai lähetä meille sähköpostia. Kiitos!'
},
'fr': { 'fr': {
'<strong>Chat</strong> with us!': '<strong>Chattez</strong> avec nous!', '<strong>Chat</strong> with us!': '<strong>Chattez</strong> avec nous!',
'Scroll down to see new messages': 'Faites défiler pour lire les nouveaux messages', 'Scroll down to see new messages': 'Faites défiler pour lire les nouveaux messages',
@ -1860,67 +1939,6 @@ var bind = function(fn, me){ return function(){ return fn.apply(me, arguments);
return window.ZammadChat = ZammadChat; return window.ZammadChat = ZammadChat;
})(window.jQuery, window); })(window.jQuery, window);
if (!window.zammadChatTemplates) {
window.zammadChatTemplates = {};
}
window.zammadChatTemplates["agent"] = function (__obj) {
if (!__obj) __obj = {};
var __out = [], __capture = function(callback) {
var out = __out, result;
__out = [];
callback.call(this);
result = __out.join('');
__out = out;
return __safe(result);
}, __sanitize = function(value) {
if (value && value.ecoSafe) {
return value;
} else if (typeof value !== 'undefined' && value != null) {
return __escape(value);
} else {
return '';
}
}, __safe, __objSafe = __obj.safe, __escape = __obj.escape;
__safe = __obj.safe = function(value) {
if (value && value.ecoSafe) {
return value;
} else {
if (!(typeof value !== 'undefined' && value != null)) value = '';
var result = new String(value);
result.ecoSafe = true;
return result;
}
};
if (!__escape) {
__escape = __obj.escape = function(value) {
return ('' + value)
.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/"/g, '&quot;');
};
}
(function() {
(function() {
if (this.agent.avatar) {
__out.push('\n<img class="zammad-chat-agent-avatar" src="');
__out.push(__sanitize(this.agent.avatar));
__out.push('">\n');
}
__out.push('\n<span class="zammad-chat-agent-sentence">\n <span class="zammad-chat-agent-name">');
__out.push(__sanitize(this.agent.name));
__out.push('</span>\n</span>');
}).call(this);
}).call(__obj);
__obj.safe = __objSafe, __obj.escape = __escape;
return __out.join('');
};
if (!window.zammadChatTemplates) { if (!window.zammadChatTemplates) {
window.zammadChatTemplates = {}; window.zammadChatTemplates = {};
} }

File diff suppressed because one or more lines are too long