Update 2: Updated the information about complete and uncomplete translations.
Update: There is also a
Two months ago there was a call to translators to prepare ejabberd 2.0.0. Since then, ejabberd 2.0.0-beta1 and rc1 were published, with bug fixes and small improvements. Some of those changes also added, removed or modified translatable strings.
Now I call again to translators. The good news is that most languages only miss 5 or 10 strings :)
If you can help to update any of the uncomplete translations, please do so now. If you have any doubt, please ask :) The deadline is 20 February midday GMT.
*** Complete translations: File Missing Language Last translator ---- ------- -------- --------------- ca.msg 0 Catalan (català) Vicent Alberola Canet cs.msg 0 Czech (čeština) Lukáš Polívka [spike411] de.msg 0 German (deutsch) Cord Beermann eo.msg 0 Esperanto Andreas van Cranenburgh es.msg 0 Spanish (castellano) Badlop fr.msg 0 French (française) Christophe Romain gl.msg 0 Galician (galego) Carlos E. Lopez nl.msg 0 Dutch (nederlands) Andreas van Cranenburgh no.msg 0 Norwegian (bokmål) Stian B. Barmen pt-br. 0 Portuguese (Brazil) Otávio Fernandes ru.msg 5 Russian (русский) Konstantin Khomoutov uk.msg 0 Ukrainian (українська) Stoune zh.msg 0 Chinese Shelley Shyan *** Uncomplete translations: it.msg 8 Italian (italiano) Luca Brivio ja.msg 9 Japanese (日本語) Tsukasa Hamano pl.msg 11 Polish (polski) Andrzej Smyk pt.msg 187 Portuguese (português) Iceburn sk.msg 54 Slovak (slovenčina) Juraj Michalek sv.msg 155 Swedish (svenska) Magnus Henoch th.msg 9 Thai (ภาษาไทย) EQHO Communications (Thailand) Ltd. tr.msg 12 Turkish (türkçe) Doruk Fisek vi.msg 9 Vietnamese (tiếng việt) EQHO Communications (Thailand) Ltd. wa.msg 24 Walon (Walloon) Pablo Saratxaga
*** Description of some new strings
"Roster groups allowed to subscribe"
The owner of a pubsub node can configure which groups of users can subscribe to that node. For example it could be the groups Friends, Familiar and SchoolMates.
"ejabberd Web Admin"
The name of the ejabberd administrative website has been uniformized to 'ejabberd Web Admin'. To make the name a little shorter, the English word 'Admin' is used, instead of the long 'Administration'. You could leave this string untranslated if you don't find a proper translation to your language. More details:
"This participant is kicked from the room because he sent an error presence"
"This participant is kicked from the room because he sent an error message"
"This participant is kicked from the room because he sent an error message to another participant"
Those messages are sent by ejabberd to a room when a participant is automatically kicked from the room. This can happen if the participant sends a xmpp packet that is an error message or an error presence that is not allowed by ejabberd.
"Make room moderated"
The owner of a room can configure the room to be moderated. This means that only users with 'voice' privilege can send messages to the room.
Those messages are printed in HTML log files when a room participant is kicked for different reasons:
"has been kicked because of an affiliation change"
If the room is only for members, and a member loses his membership, he is kicked.
"has been kicked because the room has been changed to members-only"
If the room configuration is changed to only allow members, then the room will kick all the participants that are not members.
"has been kicked because of a system shutdown"
When ejabberd is going to be stopped or restarted, this message is sent to all the rooms. Note that mod_muc_log can handle this message, but mod_muc_room does not yet implement them. So, this message is not used never yet.
*** Translation: ca.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
{"Make room moderated", ""}.
*** Translation: cs.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
*** Translation: de.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
*** Translation: eo.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
{"Make room moderated", ""}.
*** Translation: es.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
*** Translation: fr.msg
% mod_pubsub/mod_pubsub.erl
{"Choose whether to approve this entity's subscription.", ""}.
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
*** Translation: gl.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
{"Make room moderated", ""}.
% mod_muc/mod_muc_log.erl
{"has been kicked because of an affiliation change", ""}.
{"has been kicked because the room has been changed to members-only", ""}.
{"has been kicked because of a system shutdown", ""}.
*** Translation: it.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
% mod_muc/mod_muc_log.erl
{"has been kicked because of an affiliation change", ""}.
{"has been kicked because the room has been changed to members-only", ""}.
{"has been kicked because of a system shutdown", ""}.
*** Translation: ja.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
{"Make room moderated", ""}.
% mod_muc/mod_muc_log.erl
{"has been kicked because of an affiliation change", ""}.
{"has been kicked because the room has been changed to members-only", ""}.
{"has been kicked because of a system shutdown", ""}.
*** Translation: nl.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
% mod_muc/mod_muc_log.erl
{"has been kicked because of an affiliation change", ""}.
{"has been kicked because the room has been changed to members-only", ""}.
{"has been kicked because of a system shutdown", ""}.
*** Translation: no.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
{"Make room moderated", ""}.
*** Translation: pl.msg
% mod_pubsub/mod_pubsub.erl
{"Publish-Subscribe", ""}.
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
{"(Raw)", ""}.
{"Raw", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
% mod_muc/mod_muc_log.erl
{"has been kicked because of an affiliation change", ""}.
{"has been kicked because the room has been changed to members-only", ""}.
{"has been kicked because of a system shutdown", ""}.
*** Translation: ru.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
*** Translation: th.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
{"Make room moderated", ""}.
% mod_muc/mod_muc_log.erl
{"has been kicked because of an affiliation change", ""}.
{"has been kicked because the room has been changed to members-only", ""}.
{"has been kicked because of a system shutdown", ""}.
*** Translation: tr.msg
% mod_pubsub/mod_pubsub.erl
{"Deliver payloads with event notifications", ""}.
{"Persist items to storage", ""}.
{"Max # of items to persist", ""}.
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
{"Remark that these options will only backup the builtin Mnesia database. If you are using the ODBC module, you also need to backup your SQL database separately.", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
% mod_muc/mod_muc_log.erl
{"has been kicked because of an affiliation change", ""}.
{"has been kicked because the room has been changed to members-only", ""}.
{"has been kicked because of a system shutdown", ""}.
*** Translation: uk.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
*** Translation: vi.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
{"Make room moderated", ""}.
% mod_muc/mod_muc_log.erl
{"has been kicked because of an affiliation change", ""}.
{"has been kicked because the room has been changed to members-only", ""}.
{"has been kicked because of a system shutdown", ""}.
*** Translation: zh.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", ""}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", ""}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", ""}.
{"This participant is kicked from the room because he sent an error message to another participant", ""}.
{"This participant is kicked from the room because he sent an error presence", ""}.
{"Make room moderated", ""}.
Italian translation update
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", "Gruppi roster abilitati alla registrazione"}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", "Amministrazione web ejabberd"}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", "Partecipante espulso dalla stanza perché ha inviato un messaggio non valido"}.
{"This participant is kicked from the room because he sent an error message to another participant", "Partecipante espulso dalla stanza perché ha inviato un messaggio non valido a un altro partecipante"}.
{"This participant is kicked from the room because he sent an error presence", "Partecipante espulso dalla stanza perché ha inviato una presenza non valido"}.
% mod_muc/mod_muc_log.erl
{"has been kicked because of an affiliation change", "è stato espulso a causa di un cambiamento di appartenenza"}.
{"has been kicked because the room has been changed to members-only", "è stato espulso per la limitazione della stanza ai soli membri"}.
{"has been kicked because of a system shutdown", "è stato espulso a causa dello spegnimento del sistema"}.
Will be included in the next release
Unfortunately, your translation update could not be included in ejabberd 2.0.0. But don't worry, it will be included in the next release: ejabberd 2.0.1
Chinese Translation
*** Translation: zh.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", "允许订阅的花名册组群"}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", "ejabberd网页管理"}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", "该参与者因发送了一条错误信息被踢出房间"}.
{"This participant is kicked from the room because he sent an error message to another participant", "该参与者因发送了一条错误信息给另一参与者被踢出房间"}.
{"This participant is kicked from the room because he sent an error presence", "该参与者因发送了一条错误状态信息被踢出房间"}.
{"Make room moderated", "使房间处于监管状态"}.
Czech translation
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", "Skupiny kontaktů, které mohou odebírat"}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", "Webová administrace ejabberd"}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", "Tento účastník byl vyhozen, protože odeslal chybovou zprávu"}.
{"This participant is kicked from the room because he sent an error message to another participant", "Tento účastník byl vyhozen, protože odeslal chybovou zprávu jinému účastníkovi"}.
{"This participant is kicked from the room because he sent an error presence", "Tento účastník byl vyhozen, protože odeslal chybový status"}.
ru.msg — Russian translation
*** Translation: ru.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", "Группы контактов, которым разрешена подписка"}.
% web/ejabberd_web_admin.erl
{"ejabberd Web Admin", "Панель управления ejabberd"}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", "Участник был выброшен из комнаты, потому что от него пришло сообщение с ошибкой"}.
{"This participant is kicked from the room because he sent an error message to another participant", "Участник был выброшен из комнаты, потому что от него в адрес другого пользователя пришло сообщение с ошибкой"}.
{"This participant is kicked from the room because he sent an error presence", "Участник был выброшен из комнаты, потому что от него пришло статусное сообщение с ошибкой"}.
What about this variant?
Ukrainian translation
I'm translate new 5 messages to Ukrainian language. If you get some trouble with updating translation from last translator I'm upload mine tohttp://www.box.net/shared/ggj59ymoss . Old messages keeped untouched, line breaks style don't changed.
Norwegian (bokmål)
Just a little question. The mod_muc_room strings, are they errors sent because the user did an illegal act (maybe intentionally), or because something wrong happened? If the first is true (this is how I read the english) then this translation is good. :)
*** Translation: no.msg
% mod_pubsub/mod_pubsub.erl
{"Roster groups allowed to subscribe", "Kontaktliste grupper som tillates å abonnere"}.
% mod_muc/mod_muc_room.erl
{"This participant is kicked from the room because he sent an error message", "Denne deltakeren er kastet ut av rommet fordi han sendte en feilmelding"}.
{"This participant is kicked from the room because he sent an error message to another participant", "Denne deltakeren er kastet ut av rommet fordi han sendte en feilmelding til en annen deltaker"}.
{"This participant is kicked from the room because he sent an error presence", "Denne deltakeren er kastet ut av rommet fordi han sendte feil tilstederværelse"}.
{"Make room moderated", "Gjør rommet redaktørstyrt"}.
Also if you please update these already traslated strings (to make them consistent with my translation above):
% mod_muc/mod_muc_room.erl
{"moderators only", "kun for redaktører"}.
{"Moderator privileges required", "Redaktørprivilegier kreves"}.
{"Only moderators and participants are allowed to change subject in this room", "Bare redaktører og deltakere kan endre emnet i dette rommet"}.
{"Only moderators are allowed to change subject in this room", "Bare redaktører kan endre emnet i dette rommet"}.
Thank you! ;)
Best regards
Stian B. Barmen
mod_muc_room kick clarification
Just a little question. The mod_muc_room strings, are they errors sent because the user did an illegal act (maybe intentionally), or because something wrong happened? If the first is true (this is how I read the english) then this translation is good. :)
If a participant sends a 'message' or 'presence' stanza with type=error to the room, the room considers that the participant must be kicked. The exact reason could be that the client is buggy, or that his connection was closed, ...
Ok, great, then this
Ok, great, then this translation is good. :)