Como uso o DateTime.TryParse () para idiomas não ingleses como o árabe?

Preciso converter seqüências de caracteres em objetos DateTime que estejam em idiomas diferentes do inglês. Eu já vi muitos exemplos de conversão de DateTime para strings em outros idiomas, mas não o contrári

Isso não parece funcionar:

CultureInfo provider = new CultureInfo("ar-AE");    // Arabic - United Arab Emirates

string sample = "الاربعاء 16 مارس 2011"; // Arabic date in Gregorian calendar
DateTime result;
DateTime expected = new DateTime(2011, 3, 16);   // the expected date
bool b;

b = DateTime.TryParse(sample, provider, DateTimeStyles.None, out result);

Assert.IsTrue(b);
Assert.AreEqual(expected, result);

Além disso, preciso lidar com strings que estão em outros calendários. Foi isso que tentei e também não parece funcionar.

CultureInfo provider = new CultureInfo("ar-AE");    // Arabic - United Arab Emirates
provider.DateTimeFormat.Calendar = new System.Globalization.HijriCalendar();
// Wednesday, March 16, 2011, 11 Rabi second in 1432
string sample = " ‏11 ربيع ثاني 1432 ";
DateTime result;
DateTime expected = new DateTime(2011, 3, 16);   // ?
bool b;

b = DateTime.TryParse(sample, provider, DateTimeStyles.None, out result);

Assert.IsTrue(b);
Assert.AreEqual(expected, result);

O que estou perdendo

questionAnswers(3)

yourAnswerToTheQuestion