من الان امکان تست ندارم شما تست کنید ببینید می تونید فیلد نام انگلیسی در جدول tblnewparameter رو با فیلد Column_Name در sys.columns جوین کنید.
*************ویرایش
به نظر نمیرسه روش بالا جواب بده.
ظاهراً باید از همون دیتاتیبل استفاده کنید یعنی کل ردیفها از جدول tblnewparameter رو بخونید و مقدار فارسی رو به جای عنوان ستون قرار بدید. چون اسم ستونها در هر دو جدول یکی هست مشکلی هم پیش نمیاد.
SqlDataAdapter da = new SqlDataAdapter("SELECT paramEnName, paramFaName From tblnewparameter ", cn);
DataTable dt = new DataTable();
da.Fill(dt);
foreach (DataRow row in dt.Rows)
{
string _columnName = row["paramEnName"].ToString();
string _headerText = row["paramFaName"].ToString();
dataGridView1.Columns[_columnName].HeaderText = _headerText;
}