* src/mod_vcard.erl: Make services description translatable in discovery (EJAB-236 - thanks to Badlop)

* src/mod_muc/mod_muc.erl: Likewise
* src/mod_irc/mod_irc.erl: Likewise
* src/mod_pubsub/mod_pubsub.erl: Likewise
* src/mod_proxy65/mod_proxy65_service.erl: Likewise
* src/msgs/fr.msg: Added service description translation

SVN Revision: 774
This commit is contained in:
Mickaël Rémond 2007-05-29 13:14:09 +00:00
parent c9e139d80a
commit 03740c8bca
7 changed files with 42 additions and 19 deletions

View File

@ -1,3 +1,13 @@
2007-05-29 Mickael Remond <mickael.remond@process-one.net>
* src/mod_vcard.erl: Make services description translatable in
discovery (EJAB-236 - thanks to Badlop)
* src/mod_muc/mod_muc.erl: Likewise
* src/mod_irc/mod_irc.erl: Likewise
* src/mod_pubsub/mod_pubsub.erl: Likewise
* src/mod_proxy65/mod_proxy65_service.erl: Likewise
* src/msgs/fr.msg: Added service description translation
2007-05-21 Alexey Shchepin <alexey@sevcom.net>
* src/ejabberdctl.template: Updated version of ejabberdctl (thanks

View File

@ -193,11 +193,11 @@ do_route1(Host, ServerHost, From, To, Packet) ->
"" ->
case jlib:iq_query_info(Packet) of
#iq{type = get, xmlns = ?NS_DISCO_INFO = XMLNS,
sub_el = SubEl} = IQ ->
sub_el = SubEl, lang = Lang} = IQ ->
Res = IQ#iq{type = result,
sub_el = [{xmlelement, "query",
[{"xmlns", XMLNS}],
iq_disco()}]},
iq_disco(Lang)}]},
ejabberd_router:route(To,
From,
jlib:iq_to_xml(Res));
@ -287,11 +287,11 @@ closed_connection(Host, From, Server) ->
ets:delete(irc_connection, {From, Server, Host}).
iq_disco() ->
iq_disco(Lang) ->
[{xmlelement, "identity",
[{"category", "conference"},
{"type", "irc"},
{"name", "IRC Transport"}], []},
{"name", translate:translate(Lang, "IRC Transport")}], []},
{xmlelement, "feature",
[{"var", ?NS_MUC}], []},
{xmlelement, "feature",

View File

@ -280,11 +280,11 @@ do_route1(Host, ServerHost, Access, HistorySize, From, To, Packet) ->
"iq" ->
case jlib:iq_query_info(Packet) of
#iq{type = get, xmlns = ?NS_DISCO_INFO = XMLNS,
sub_el = _SubEl} = IQ ->
sub_el = _SubEl, lang = Lang} = IQ ->
Res = IQ#iq{type = result,
sub_el = [{xmlelement, "query",
[{"xmlns", XMLNS}],
iq_disco_info()}]},
iq_disco_info(Lang)}]},
ejabberd_router:route(To,
From,
jlib:iq_to_xml(Res));
@ -459,11 +459,11 @@ register_room(Host, Room, Pid) ->
mnesia:transaction(F).
iq_disco_info() ->
iq_disco_info(Lang) ->
[{xmlelement, "identity",
[{"category", "conference"},
{"type", "text"},
{"name", "Chatrooms"}], []},
{"name", translate:translate(Lang, "Chatrooms")}], []},
{xmlelement, "feature", [{"var", ?NS_MUC}], []},
{xmlelement, "feature", [{"var", ?NS_REGISTER}], []},
{xmlelement, "feature", [{"var", ?NS_VCARD}], []}].

View File

@ -84,9 +84,9 @@ handle_info(_Info, State) ->
%%%------------------------
%% disco#info request
process_iq(_, #iq{type = get, xmlns = ?NS_DISCO_INFO} = IQ, #state{name=Name}) ->
process_iq(_, #iq{type = get, xmlns = ?NS_DISCO_INFO, lang = Lang} = IQ, #state{name=Name}) ->
IQ#iq{type = result, sub_el =
[{xmlelement, "query", [{"xmlns", ?NS_DISCO_INFO}], iq_disco_info(Name)}]};
[{xmlelement, "query", [{"xmlns", ?NS_DISCO_INFO}], iq_disco_info(Lang, Name)}]};
%% disco#items request
process_iq(_, #iq{type = get, xmlns = ?NS_DISCO_ITEMS} = IQ, _) ->
@ -155,11 +155,11 @@ process_iq(_, _, _) ->
%%%-------------------------
-define(FEATURE(Feat), {xmlelement,"feature",[{"var", Feat}],[]}).
iq_disco_info(Name) ->
iq_disco_info(Lang, Name) ->
[{xmlelement, "identity",
[{"category", "proxy"},
{"type", "bytestreams"},
{"name", Name}], []},
{"name", translate:translate(Lang, Name)}], []},
?FEATURE(?NS_DISCO_INFO),
?FEATURE(?NS_DISCO_ITEMS),
?FEATURE(?NS_VCARD),

View File

@ -206,13 +206,13 @@ do_route(Host, ServerHost, Access, From, To, Packet) ->
"iq" ->
case jlib:iq_query_info(Packet) of
#iq{type = get, xmlns = ?NS_DISCO_INFO = XMLNS,
sub_el = SubEl} = IQ ->
sub_el = SubEl, lang = Lang} = IQ ->
{xmlelement, _, QAttrs, _} = SubEl,
Node = xml:get_attr_s("node", QAttrs),
Res = IQ#iq{type = result,
sub_el = [{xmlelement, "query",
QAttrs,
iq_disco_info(Node)}]},
iq_disco_info(Node, Lang)}]},
ejabberd_router:route(To,
From,
jlib:iq_to_xml(Res));
@ -309,14 +309,14 @@ node_to_string(Node) ->
right, $/).
iq_disco_info(SNode) ->
iq_disco_info(SNode, Lang) ->
Node = string:tokens(SNode, "/"),
case Node of
[] ->
[{xmlelement, "identity",
[{"category", "pubsub"},
{"type", "generic"},
{"name", "Publish-Subscribe"}], []},
{"name", translate:translate(Lang, "Publish-Subscribe")}], []},
{xmlelement, "feature", [{"var", ?NS_PUBSUB}], []},
{xmlelement, "feature", [{"var", ?NS_PUBSUB_EVENT}], []},
{xmlelement, "feature", [{"var", ?NS_PUBSUB_OWNER}], []},

View File

@ -344,7 +344,7 @@ do_route(ServerHost, From, To, Packet) ->
From,
jlib:iq_to_xml(ResIQ))
end;
#iq{type = Type, xmlns = ?NS_DISCO_INFO} ->
#iq{type = Type, xmlns = ?NS_DISCO_INFO, lang = Lang} ->
case Type of
set ->
Err = jlib:make_error_reply(
@ -360,7 +360,7 @@ do_route(ServerHost, From, To, Packet) ->
[{"category", "directory"},
{"type", "user"},
{"name",
"vCard User Search"}],
translate:translate(Lang, "vCard User Search")}],
[]},
{xmlelement, "feature",
[{"var", ?NS_SEARCH}], []},

View File

@ -83,7 +83,7 @@
{"You need an x:data capable client to search",
"Vous avez besoin d'un client supportant x:data pour faire une recherche"}.
{"Search users in ", "Rechercher des utilisateurs "}.
{"vCard User Search", "Recherche dans l'annnuaire"}.
{"Fill in fields to search for any matching Jabber User",
"Remplissez les champs pour rechercher un utilisateur Jabber"}.
{"Fill in the form to search for any matching Jabber User (Add * to the end of field to match substring)", "Remplissez le formulaire pour recherche un utilisateur Jabber (Ajouter * à la fin du champ pour chercher n'importe quelle fin de chaîne"}.
@ -135,6 +135,8 @@
{"Send items to new subscribers", "Envoyer les anciens éléments aux nouveaux abonnés"}.
{"Only deliver notifications to available users", "Envoyer les notifications uniquement aux utilisateurs disponibles"}.
{"Specify the current subscription approver", "Définir l'utilisateur qui valide les abonnements"}.
{"Publish-Subscribe", "Publication-Abonnement"}.
% mod_muc/mod_muc_log.erl
{"Chatroom configuration modified", "Configuration du salon modifiée"}.
@ -175,6 +177,8 @@
{"Access denied by service policy", "L'accès au service est refusé"}.
{"Specified nickname is already registered", "Le pseudo demandé est déjà enregistré"}.
{"You must fill in field \"Nickname\" in the form", "Vous devez préciser le champ \"pseudo\" dans le formulaire"}.
{"Chatrooms", "Salons de discussion"}.
% mod_muc/mod_muc_room.erl
{" has set the subject to: ", " a changé le sujet pour: "}.
@ -235,6 +239,7 @@
{"If you want to specify different encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\"}'. By default this service use \"~s\" encoding.", "Si vous voulez préciser différents encodages pour les serveurs IRC, remplissez cette liste avec des valeurs dans le format '{\"serveur irc\", \"encodage\"}'. Par défaut ce service utilise l'encodage \"~s\"."}.
{"Example: [{\"irc.lucky.net\", \"koi8-r\"}, {\"vendetta.fef.net\", \"iso8859-1\"}].", "Exemple: [{\"irc.lucky.net\", \"koi8-r\"}, {\"vendetta.fef.net\", \"iso8859-1\"}]."}.
{"Encodings", "Encodages"}.
{"IRC Transport", "Passerelle IRC"}.
% web/ejabberd_web_admin.erl
{"Administration", "Administration"}.
@ -342,6 +347,14 @@
{"Shared Roster Groups", "Groupes de liste de contacts partagée"}.
{"Last Activity", "Dernière Activité"}.
% mod_proxy65_service.erl
{"ejabberd SOCKS5 Bytestreams module\nCopyright (c) 2003-2006 Alexey Shchepin",
"ejabberd SOCKS5 Bytestreams module\nCopyright (c) 2003-2006 Alexey Shchepin"}.
% Local Variables:
% mode: erlang
% End: