> > * Should error messages returned by the API be translated? Or should the > translation be left to JavaScript in the client?
I think it should be left to JavaScript in the client. The API is not a UI, so it is not intended to function as an internationalized interface. However, a JavaScript script that uses the API *is* part of a UI, and thus has the burden of internationalizing whatever it does. Additionally, I don't know much about our API clients, but adding in non-ASCII characters may or may not cause issues. > ** In both cases, it would be nice to have a consistent relationship > between > error codes and the corresponding system message. I agree. Maybe for each error message in the api we have a "api-$code" message that corresponds to a proper description of the error. > > ** If translation is done on the client, we need to pass any message > parameters > separately. > ** The message key would have to somehow be derived or mapped from the > error code. Herein lies the biggest difficulty. *--* *Tyler Romeo* Stevens Institute of Technology, Class of 2015 Major in Computer Science www.whizkidztech.com | tylerro...@gmail.com On Fri, Jan 25, 2013 at 8:01 AM, Daniel Kinzler <dan...@brightbyte.de>wrote: > Hi all! > > Wikidata (technically, Wikibase) uses a lot of JS/API based editing, and > we have > several times hit upon the question of how to best report errors from the > API. > I'll try to break the issue down into several concrete questions. But > first off, > the status quo as I understand it: > > * errors are reported using an error code (a string) and a free form error > message. The message is usually not internationalized, though sometimes it > is. > * warnings are reported as free form text. > * Additional information can be added to both errors and warnings, but > there is > no standard way to do this. > * Errors exposed by the API are often not generated but just passed > through by > the API; Typically, a generic error code is used with the original error > message > (e.g. from an exception). > > So, here are my questions: > > * Should error messages returned by the API be translated? Or should the > translation be left to JavaScript in the client? > ** In both cases, it would be nice to have a consistent relationship > between > error codes and the corresponding system message. > ** If translation is done on the client, we need to pass any message > parameters > separately. > ** The message key would have to somehow be derived or mapped from the > error code. > > > * When using system messages to translate the error codes from the API, > these > messages will often contain wikitext. How can we best avoid this? Wikitext > is > likely to be quite useless to the client - it would be better to return > HTML; or > pass all the message keys and parameters, and let the client generate the > message. > > * Status objects are often used to collect errors and warnings the occur > while > trying to perform some task. It would be nice if the API would provide a > standard way to put the contents of a Status object into the result (well, > at > least the errors and warnings). > > Any thoughts on that? > > -- daniel > > _______________________________________________ > Wikitech-l mailing list > Wikitech-l@lists.wikimedia.org > https://lists.wikimedia.org/mailman/listinfo/wikitech-l > _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l