I think I've fixed the book price bug listed in the documentation.
In the file App_Code\Engine\Modules\Books\Controls\BookPrice.cs, add the following private variable to the BookPrice class:
private
string _priceFormatString = "{0:C}";
In the RenderContents() method, replace the line:
writer.Write(_price.ToString(
"c", new CultureInfo(_cultureName)));
with:
writer.Write(
String.Format(_priceFormatString, _price));
The CultureName property is never changed from it's initial state which prevents the CultureInfo() class from getting properly instantiated. The change I've proposed seems to work fine and the price is now localized. Please let me know if you find otherwise.