Localisation updates from http://translatewiki.net.

Change-Id: Ib77390bf10acdcd236e444144b6619f693a0e26c
Localisation updates from http://translatewiki.net.

Change-Id: I6d8fad75ee4d4f23f1dbc6eda37cecdc017b349f
Fixed transmission of \0 from Lua standalone

* string.format() truncates the string at a null character, causing a
  deadlock when Lua attempts to send null characters to PHP. Use
  concatenation instead.
* Added test.
* Fixed an error reporting issue in the console, which I happened to
  notice at the same time as the above bug.

Change-Id: I2e6061a04512557492bffbd04bc09ca3bc1d80d6
Localisation updates from http://translatewiki.net.

Change-Id: I644d9959a543693add908e4a0aadfd3faad21005
Handle non-finite numbers

There's no reason LuaStandalone cannot handle NaN and Inf.

Also, add some unit tests to check this.

Change-Id: I8570242a792e212489ad24dfc04fb1f2940190a5
Handle cloned parsers correctly

If the parser is cloned, we need to give the new instance a new
ScribuntoEngine. Otherwise when one of the clones has ParserClearState
called, the engine for the other will also be unexpectedly destroyed.

Change-Id: Ia6ded082e5adddfbd91387bca825a305ccbf831d
Depends-On: Ieec65c908d71e89b9a66f83b9a626f842aadacbb
Localisation updates from http://translatewiki.net.

Change-Id: Iae0dbde50466609e29b2e17f2b684f4047c018a6
Unit test: verify LuaSandbox and LuaStandalone are equivalent

We should include a unit test to try to ensure that we don't add
features to one environment and forget about the other.

Change-Id: I72b1acf8eea4a05e05fed1efeb0663a3eff9278a
Make sure to call parent::setUp()

Change-Id: I9da9bbf803ee37d48b954e2e82407fae4dfe464c
Allow mw.log and console to handle multiple values

In the debug console, "=unpack( { 1, 2, 3 } )" prints only "1". And
similarly, "mw.log( 1, 2, 3 )" logs only "1". Since Lua uses multiple
return values extensively, this is not particularly helpful.

Following the lead of the lua command-line client, change these to
output multiple values by converting each one using tostring() and then
concatenating them with tab as a separator.

Change-Id: I791d4c92415fc722bbd7c62d0f5f88752d31fe07
Localisation updates from http://translatewiki.net.

Change-Id: Iaa7cccba055f021691ef7e92f490de771f46c8ab
Localisation updates from http://translatewiki.net.

Change-Id: I8b07012db015760ec7cc0475f69260e36158e6c8
Localisation updates from http://translatewiki.net.

Change-Id: If00e44e7fdfefbd2b87301e1f4dbd3488cd87b9b
Localisation updates from http://translatewiki.net.

Change-Id: I61c6368da452ddb8dd751314194e80c85509c499
Localisation updates from http://translatewiki.net.

Change-Id: Iabfcc545d6f570b5cfbd83289d3138a864cb4359
Localisation updates from http://translatewiki.net.

Change-Id: Ia7c5dc47f52000ec05b3189449edcc12ea95a58b
Allow the profiler to be configured or disabled

Because bugs were found in it.

Change-Id: I2737bad8663af3c8afec8a0ea4cca5d0f5b13714
Make loader available to console, interface modules

The package module is loaded into the "base" environment but not
correctly initialized, so interface modules and the console cannot
actually load anything.

Change-Id: I92a47d318ccadd7361edb1ac3b0e4bb304ff8a9c
Add Scribunto_LuaInterpreter::wrapPhpFunction

Currently, the only way for PHP to pass a function to Lua is to pass
back a function that it received from Lua. This means, for example, that
PHP cannot implement a Lua iterator function except by registering a
library holding the function or by using loadString.

This changeset adds Scribunto_LuaInterpreter::wrapPhpFunction (and
implements it for both LuaSandbox and LuaStandalone), which takes a PHP
callable and returns a Lua function wrapping it.

Note that fallback code is included so this does not depend on
I2e552799.

Change-Id: Ic0a98eec7cc17ef4b1acee032c0f42d617b998d2
Add Scribunto_LuaInterpreter::isLuaFunction method

Add a method to LuaInterpreter to determine whether an object is a
wrapped Lua function.

Change-Id: I20bf16948db025372d68cc89bf5ddcbf617db864