Jason McIntosh | 29 Jul 08:01

Localizing invitation messages

I just noticed that the message parts of invitations (as defined at
http://www.volity.org/wiki/index.cgi?Invitation) don't seem to be
localized.

I'd like to suggest a third variety of the volity.invite_player
method, with the args (player_JID, localized_messages). The latter
argument is a hash of messages whose keys are two-letter language
codes. Example of a bilingual (if not very informative) invitation
call:

volity.invite_player( "joe <at> example.com", {en => "Hello!", es => "¡Hola!"} )

Complementarily, volity.receive_invitation would have an optional
"localized_messages" field, whose value is the same sort of struct.

I don't predict this will be used much for person-to-person
invitations, but it would be useful  for automated invitations, such
as those generated by the bookkeeper when summoning players for a
scheduled game. What do you all think?

--

-- 
Jason McIntosh
President and Founder
Volity Games
jmac <at> volity.com
617-792-3829

Digital Games for Analog People.
http://volity.net

(Continue reading)

Roger Crew | 30 Jul 02:45
Picon

Re: Localizing invitation messages

The problem with the message hashes is that, over time, as volity
catches on in more and more countries, they'll get progressively
larger.  Note that since you don't khow who these messages are 
going to, you then have to provide every translation you can, 

or conversely if you *do* know, then you can provide the particular
translation you need and then there's no need for the hash
(...but then in that case one might argue that, since you're
essentially sending a personal message, you can just use existing
jabber conversation/IM protocols to send the message and there's thus
no reason to overload volity to be able to do this as well...)

 - -

In fact, I'd like to suggest adopting the general principle that
volity RPCs should never (*) have locale-specific text in them,

i.e., that any references to natural-language text messages must
ALWAYS be via message codes (... which one then looks up via whatever
means is appropriate, whether the client downloads a locale-specific
table at the beginning of time, or the bookkeeper/referee/something-
else provides a lookup service for the more obscure/infrequent/error
messages and the client caches them,...)

I'll also note that it shouldn't matter if someone wants to use
message codes that themselves are strings that JUST HAPPEN to coincide
with the en_US localizations of those codes, or that their "code
lookup routine" might returns the string code itself *as* the
localization for any message code it can't find in its table...
... i.e., if you're looking for an easy transition plan under which
(Continue reading)

Jason McIntosh | 31 Jul 18:54

Re: Localizing invitation messages

On 7/29/06, Roger Crew <wrog <at> users.sourceforge.net> wrote:
>
> In fact, I'd like to suggest adopting the general principle that
> volity RPCs should never (*) have locale-specific text in them,

This is indeed our general policy, and how both the Gamut application
and UI files do things.

The message hashes I'm talking about are literally XMPP <message>
packets, not RPCs. And it's actually appropriate to send these as a
big hash, using XMPP's protocol for doing so, since there's a chance
that the message will be intercepted not by Gamut but by some other
Jabber-speaking IM client. And if your receive an IM from the
bookkeeper saying "NEWTABLETIMEOUT", the only spec-compliant response
is "WTF".

--

-- 
Jason McIntosh
President and Founder
Volity Games
jmac <at> volity.com
617-792-3829

Digital Games for Analog People.
http://volity.net

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
(Continue reading)

Andy Turner | 31 Jul 20:20

Re: Localizing invitation messages

On Mon, Jul 31, 2006 at 12:54:12PM -0400, Jason McIntosh wrote:
> On 7/29/06, Roger Crew <wrog <at> users.sourceforge.net> wrote:
> >
> > In fact, I'd like to suggest adopting the general principle that
> > volity RPCs should never (*) have locale-specific text in them,
> 
> This is indeed our general policy, and how both the Gamut application
> and UI files do things.
> 
> The message hashes I'm talking about are literally XMPP <message>
> packets, not RPCs. And it's actually appropriate to send these as a
> big hash, using XMPP's protocol for doing so, since there's a chance
> that the message will be intercepted not by Gamut but by some other
> Jabber-speaking IM client. And if your receive an IM from the
> bookkeeper saying "NEWTABLETIMEOUT", the only spec-compliant response
> is "WTF".

In theory the XMPP server knows what locale each connection is--
compliant clients include their preferred locale in the xml:lang
attribute of their <stream> tag (section 4.4 of RFC 3920).  If we
knew this we could include only the appropriate locale... however I
don't think there's a way to query this.

We could have Gamut include its current locale in its presence...
but the referee still has no way to query that.

About the only way I can see to do this would be to put the player's
language preference on their volity.net account and make that
queryable via the bookkeeper.

(Continue reading)

Jason McIntosh | 31 Jul 20:27

Re: Localizing invitation messages

On 7/31/06, Andy Turner <turner <at> mikomi.org> wrote:
>
> About the only way I can see to do this would be to put the player's
> language preference on their volity.net account and make that
> queryable via the bookkeeper.

I don't think there's sufficient reason to go through that much
effort. Shoving out the entire, multi-lingual hash as a <message>
works just fine, and properly-programmed Jabber clients (such as
Gamut) do the right thing with it.

--

-- 
Jason McIntosh
President and Founder
Volity Games
jmac <at> volity.com
617-792-3829

Digital Games for Analog People.
http://volity.net

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Andy Turner | 31 Jul 20:39

Re: Localizing invitation messages

On Mon, Jul 31, 2006 at 02:27:01PM -0400, Jason McIntosh wrote:
> On 7/31/06, Andy Turner <turner <at> mikomi.org> wrote:
> > About the only way I can see to do this would be to put the player's
> > language preference on their volity.net account and make that
> > queryable via the bookkeeper.
> 
> I don't think there's sufficient reason to go through that much
> effort. Shoving out the entire, multi-lingual hash as a <message>
> works just fine, and properly-programmed Jabber clients (such as
> Gamut) do the right thing with it.

The reason to avoid this would be when we have 30 localizations and
so a simple invitation becomes a pretty heavyweight message.

We will almost certainly be storing locale settings on volity.net
anyway... but no, I don't think this is something we have to worry
too hard about right now.

--

-- 
Andy <turner <at> mikomi.org>

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Dan Efran | 31 Jul 16:54

Re: Localizing invitation messages

Roger Crew wrote:
> The problem with the message hashes is that, over time, as volity
> catches on in more and more countries, they'll get progressively
> larger.  Note that since you don't khow who these messages are 
> going to, you then have to provide every translation you can, 

...

> In fact, I'd like to suggest adopting the general principle that
> volity RPCs should never (*) have locale-specific text in them,
> 
> i.e., that any references to natural-language text messages must
> ALWAYS be via message codes (... which one then looks up via whatever
> means is appropriate, whether the client downloads a locale-specific
> table at the beginning of time, or the bookkeeper/referee/something-
> else provides a lookup service for the more obscure/infrequent/error
> messages and the client caches them,...)

I agree, that approach seems more elegant.

     -- Dan Efran
         Martian Ambassador
         efran <at> wunderland.com
         http://www.efran.org/embassy/

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
(Continue reading)

katre | 29 Jul 14:37

Re: Localizing invitation messages

Jason McIntosh wrote:
> I don't predict this will be used much for person-to-person
> invitations, but it would be useful  for automated invitations, such
> as those generated by the bookkeeper when summoning players for a
> scheduled game. What do you all think?

Who would be entering those?  When I set up a scheduled game, do I need
to add the localized invitations (I might not know who is going to sign
up for the game, even).  Or would there be a stock list somewhere in the
bookkeeper?

katre

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Jason McIntosh | 29 Jul 17:57

Re: Localizing invitation messages

On 7/29/06, katre <katre <at> henchmonkey.org> wrote:
>
> Who would be entering those?  When I set up a scheduled game, do I need
> to add the localized invitations (I might not know who is going to sign
> up for the game, even).  Or would there be a stock list somewhere in the
> bookkeeper?

That's it exactly, a list of stock messages. I'd also like to update
the Perl and Python referee classes so that the default invitation
messages they send out for ordinary invitations are multi-lingual.

--

-- 
Jason McIntosh
President and Founder
Volity Games
jmac <at> volity.com
617-792-3829

Digital Games for Analog People.
http://volity.net

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

Gmane