آبجی
15th February 2010, 12:47 AM
اینترنت در آغاز توسط انگلیسی زبانان بکار گرفته شد، اما با گسترش نفوذ اینترنت در جهان تعداد افراد غیر انگلیسی زبانی که از این رسانه استفاده می کنند افزایش یافته است و با توجه به جمعیت زیاد کشورهای آسیایی و اروپایی که کاربر اینترنت می باشند و می خواهند با هم کار کنند ، نیاز است که سایت هایی با زبان ها و فرهنگ های مختلف ایجاد کرد تا افراد غیر همزبان با ما نیز بتوانند از آن استفاده کنند . به هر حال انجام این عمل کار بسیار خوبی می باشد اما پیاده سازی آن مشکلاتی را برای برنامه نویسان وب سایت ایجاد می کند.
چهار چوب .NET شامل ویژگی های مختلفی برای کمک به ایجاد وب سایت های بین المللی می باشد . خیلی از این خصیصه ها بر روی همه نوع از برنامه ها اعم از Windows Form ها و یا ASP.NET قابل اجرا می باشند . اگرچه ASP.NET در ترجمه محتوا نمی تواند به شما کمکی کند اما می تواند در مدیریت محتوایی که یک بار ترجمه شده است به شما کمک کند . در این سری مقالات قصد داریم شما را با ویژگی هایی که برای ایجاد وب سایت های بین المللی در ASP.NET وجود دارد آشنا کنیم .
در این مقالات از یک وب سایت نمونه که امکان دسترسی به مقالات خبری را می دهد استفاده می شود . در این سایت بازدیدکنندگان می توانند زبان مورد نظر خود را از یک لیست کشویی انتخاب نمایند و مقالات مورد نظرشان را در صورت وجود در آن زبان مشاهده نمایند . در این وب سایت از ویژگی های محلی سازی .NET (.NET Localization) برای قرار دادن محتوای از قبل ترجمه شده با توجه به زبان انتخاب شده در جای خود و نمایش آن به کاربر استفاده می شود . برای این منظور در .NET مجموعه ای بسیار مفید برای کمک به شما فراهم شده است که زمان زیادی برای شما صرفه جویی می کند .زیرا جنبه های بسیار زیادی در محلی سازی وجود دارد که شما باید برای انجام یک پروژه موفق مد نظر داشته باشید
ملاحظاتی درباره زبان و فرهنگ
در هنگام ایجاد یک وب سایت مسایلی وجود دارد که در هر فرهنگ و زبانی بگونه ای متفاوت می باشند که باید به آنها توجه کرد .این مسایل شامل موارد زیر می باشند :
محتوای پایگاه داده . بخش اعظم اطلاعات شامل اخبار ، مقالات ، مشخصات محصولات و مانند آن اغلب در پایگاه داده ها قرار می گیرند . اگرچه خیلی از سایت ها این مطالب را در فایل های HTML نگه داری می کنند .
گرافیک . به واقع هر سایتی برای خود مشخصه های گرافیکی دارد که خیلی از بخش های آن با تغییر زبان تغییر نمی کنند . ولی مطمئناً هر عکسی که شامل متن باشد نیازمند بین المللی سازی می باشد و یا مممکن است تصویری شامل سمبل هایی باشد که در زبان های مختلف معانی متفاوتی داشته باشند .
منابع متنی . که شامل اعداد و مطالب ثابت سایت مثل جمله حق نشر ، صفحه خوش آمدگویی ورودی سایت و غیره می باشد . اکثر وب سایت ها این مطالب را در صفحات جداگانه اعم از HTML و یا aspx نگه داری می کنند .
تاریخ .در فرهنگ های مختلف تاریخ به شکل های متفاوتی نمایش داده می شود . برای مثال تاریخ ” اول دسامبر ۲۰۰۴ ” در انگلستان به فرم “۰۴/۱۲/۱ ” و در آمریکا به فرم “۰۴/۱/۱۲ ” نمایش داده می شود . بنابراین نمایش تاریخ به فرم صحیح برای کاربران با فرهنگ های مختلف بسیار مهم می باشد .
علاوه بر این چهار حوزه گفته شده ، مسایل دیگری نیز وجود دارد که باید آنها را نیز در کار در نظر گرفت .این مسایل شامل واحدهای پولی ، فرمت های محلی برای نوشتن اعداد ، مرتب سازی و بزرگی و کوچکی حروف در زبان هایی مختلف و واحدهای اندازه گیری می باشد .
فرآیند ترجمه
فرآیند ترجمه بخش مهمی از بین المللی سازی وب سایت را شامل می شود . در اینجا تعدادی پرسش وجود دارد که در هنگام طراحی برنامه بین المللی تان باید به آنها پاسخ دهید :
چه کسی محتوا را ترجمه خواهد کرد ؟
سایت از چه زبان هایی حمایت خواهد کرد ؟
در هنگام بروز مشکلات زبان اولیه برای نمایش منابع و اشکالات نمایش داده شده چیست؟
در این سایت از چهار زبان انگلیسی ، چینی ، فرانسه و ژاپنی استفاده می شود .
نگاشت محتوا به کلاس ها
در وب سایت نمونه ای که در طی این مقالات ایجاد خواهیم کرد مقالات خبری را در چندین زبان مختلف ترجمه و نگه داری می کنیم و با توجه به زبان انتخاب شده توسط بازدید کننده نمایش داده می شود . در این سایت متن مقالات ، صفحات و تاریخ و تصاویر با توجه به فرهنگ آن زبان نمایش داده می شود .
همانگونه که مرسوم است سایت خبری ما نیز مقالاتش را در پایگاه داده ذخیره می کند زیرا در این روش ایجاد یک رابط مدیریتی برای ویرایشگران و روزنامه نگاران ساده می باشد . اولین گام در ایجاد این برنامه ساختن یک رابط کاربر برای نمایش شرح اخبار می باشد . مشکلی که در این کار نهفته است این است که کدام نسخه زبانی از مقاله باید نمایش داده شود. در اینجا نیازمندی های ساده این سایت گفته شده است :
در این سایت محتوای هر مقاله در چهار زبان مختلف ذخیره می گردد .
کاربران زبان مورد نظرشان را از بین زبان های : English-UK ، French-France ، Chinese-China و Japanese-Japan انتخاب می کنند .
زبان پیش فرض English-UK می باشد .
در این سایت مقالات خبری در صورت وجود با توجه به زبان انتخاب شده نمایش داده می شود .
هر مقاله شامل یک شناسه منحصر بفرد ، عنوان ، متن مقاله و تاریخ انتشار می باشد .
از آنجاییکه این فقط یک نمونه برای آشنایی با بین المللی سازی می باشد بنابراین هیچ واسطی برای فرستادن ، ویرایش و حذف مقالات وجود ندارد و داده های آزمایشی به صورت مستقیم در پایگاه داده SQL Server درج خواهد شد .
در این سایت کلاسی به نام Article وجود دارد که توسط آن نمونه ای از مقاله در یک زبان معین ارائه می شود . در ابتدای فایل این کلاس (Article.cs ) فضای نام های مورد نیاز زیر را قرار می دهیم .
using System.Data;
using System.Globalization;
فضای نام System.Data کلاس DataSet را فراهم می کند و فضای نام System.Globalization کلاس هایی را که برای محلی سازی اطلاعات از آنها استفاده می شود را فراهم می کند که مهمترین آنها کلاس CultureInfo می باشد ، این کلاس نماینگر یک فرهنگ می باشد و از آن برای مشخص کردن فرهنگی که برای نمایش محتوا باید بکار برده شود استفاده می شود .
کلاس Article یک سری اعضای خصوصی (private ) دارد که برای نگه داری شناسه ، عنوان ، متن مقاله و تاریخ انتشار و فرهنگ ( هر نمونه از Article بخشی از محتوا را در یک فرهنگ مشخص نمایش می دهد ) بکار رفته در آن استفاده می شوند .
private int articleID;
private string articleTitle = “”;
private string articleBody = “”;
private DateTime articlePublicationDate;
private CultureInfo articleCulture;
سپس تعدادی پروپرتی برای این فیلدهای خصوصی وجود دارد که محتوای این فیلدها را بر روی صفحه برای هر مقاله انتخاب شده نمایش می دهد :
public string Title
{
get { return articleTitle; }
}
public string Body
{
get { return articleBody; }
}
public DateTime PublicationDate
{
get { return articlePublicationDate; }
}
public CultureInfo Culture
{
get { return articleCulture; }
}
public int ArticleID
{
get { return articleID; }
}
حال در پایگاه داده SQL Server 2000 یک دید (view) به نام ArticleDetail ایجاد می کنیم که به مانند تصویر شماره یک می باشد .
http://www.irandevelopers.com/wp-content/uploads/2009/02/aaaa.jpg
تصویر شماره یک
هر ردیف از دیتاست این دید نمایانگر یک نسخه از یک مقاله در یک زبان مشخص می باشد و هر نسخه شامل شناسه مقاله ، تاریخ ، عنوان مفاله و رشته مشخص کننده فرهنگ می باشد .
توجه : اگرچه هم SQL Server 2000 و هم Access از استاندارد یونی کد پشتیبانی می کنند اما شما ممکن است که نیاز داشته باشید تا کامپیوترتان را برای نمایش کاراکترهای زبان های مختلف پیکربندی کنید ؛ برای این کار باید پشتیبانی از زبان های خارجی را در Windows نصب کرده باشید .
کلاس Article یک سازنده اورلود شده دارد که یک شناسه از نوع integer را برای مشخص کردن شناسه مقاله و یک شی از نوع System.Globalization.CultureInfo که نمایانگر فرهنگ بکار رفته در آن مقاله می باشد را می گیرد و یک شی از نوع Article بر می گرداند .
public Article(int articleID, CultureInfo culture)
{
}
حال پرس و جوی SQL زیر را در سازنده قرار می دهیم تا با استفاده از دو آرگومان سازنده ، ترجمه مرتبط با مقاله خواسته شده را بازیابی کند .
string Sql = “SELECT * FROM ArticleDetail WHERE ArticleID=” + articleID + ” AND LanguageID=’” + culture.Name + “‘”;
سازنده مقدار پرس و جوی SQL را به یک متد استاتیک کمکی به نام GetDataSet() می فرستد تا در آن سطرهای مرتبط برگردنده شوند .
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
namespace Multilingual
{
public class Database
{
public static DataSet GetDataSet(string Sql)
{
DataSet DS = new DataSet();
string myPhysicalPath =
HttpContext.Current.Request.PhysicalApplicationPat h;
string connectionString =
“Server=optimism;Database=sqlservername;
UID=sqlserveraccountname;PWD=mypassword;”;
SqlConnection myConnection =
new SqlConnection(connectionString);
SqlDataAdapter myDataAdapter =
new SqlDataAdapter(Sql, myConnection);
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet);
return myDataSet;
}
}
}
بنابراین ، کلاس Article یک مقاله را بوسیله ایجاد یک عبارت SQL و فرستادن آن به متد GetDataSet() از شی DataBase بازیابی می کند .
DataSet dataSet = Database.GetDataSet(Sql);
در صورتیکه پرس و جو هیچ سطری از دید را برنگرداند پس اینچنین مقاله ای در آن فرهنگ خاص موجود نمی باشد ، در این صورت بلاک کد بعدی یک پرس و جوی جدید را برای جستجوی نسخه انگلیسی مقاله که همان نسخه پیش فرض می باشد را اجرا می کند .
if (dataSet.Tables[0].Rows.Count == 0)
{
Sql = “SELECT * FROM ArticleDetail WHERE ArticleID=” + articleID + ” AND
LanguageID=’” + “en-gb” + “‘”;
dataSet = Database.GetDataSet(Sql);
}
حال در صورتیکه پس از اجرای عبارت SQL دوم نیز هیچ مقاله ای با آن مشخصات پیدا نشد استثنای زیر اجرا می گردد .
if (dataSet.Tables[0].Rows.Count == 0)
{
Exception exception = new Exception(”Article not available”);
throw exception;
}
و در صورتیکه نتیجه ای برگردانده شود سازنده مقادیر اعضای خصوصی را در آنها قرار می دهد . که این اعضا شامل عنوان ، متن مقاله ، تاریخ انتشار و فرهنگ آن می باشد .
DataTable dt = dataSet.Tables[0];
articleTitle = dt.Rows[0]["Title"].ToString();
articleBody = dt.Rows[0]["Body"].ToString();
articlePublicationDate = DateTime.Parse
(dt.Rows[0]["PublicationDate"].ToString());
articleCulture = CultureInfo.
CreateSpecificCulture(dt.Rows[0]["LanguageID"].ToString());
}
در خط اخر سازنده متد CreateSpecificCulture() قرار دارد که برای ایجاد یک شی جدید CultureInfo مورد استفاده قرار می گیرد از این شی برای بیان فرهنگ مقاله استفاده می شود . متد CreateSpecificCulture() رشته ای که نام فرهنگ می باشد مانند “en-GB ” را می گیرد و شی CultureInfo را که دربرگیرنده اکثر مشخصات فرهنگی یک زبان می باشد را بر می گرداند .
چهار چوب .NET شامل ویژگی های مختلفی برای کمک به ایجاد وب سایت های بین المللی می باشد . خیلی از این خصیصه ها بر روی همه نوع از برنامه ها اعم از Windows Form ها و یا ASP.NET قابل اجرا می باشند . اگرچه ASP.NET در ترجمه محتوا نمی تواند به شما کمکی کند اما می تواند در مدیریت محتوایی که یک بار ترجمه شده است به شما کمک کند . در این سری مقالات قصد داریم شما را با ویژگی هایی که برای ایجاد وب سایت های بین المللی در ASP.NET وجود دارد آشنا کنیم .
در این مقالات از یک وب سایت نمونه که امکان دسترسی به مقالات خبری را می دهد استفاده می شود . در این سایت بازدیدکنندگان می توانند زبان مورد نظر خود را از یک لیست کشویی انتخاب نمایند و مقالات مورد نظرشان را در صورت وجود در آن زبان مشاهده نمایند . در این وب سایت از ویژگی های محلی سازی .NET (.NET Localization) برای قرار دادن محتوای از قبل ترجمه شده با توجه به زبان انتخاب شده در جای خود و نمایش آن به کاربر استفاده می شود . برای این منظور در .NET مجموعه ای بسیار مفید برای کمک به شما فراهم شده است که زمان زیادی برای شما صرفه جویی می کند .زیرا جنبه های بسیار زیادی در محلی سازی وجود دارد که شما باید برای انجام یک پروژه موفق مد نظر داشته باشید
ملاحظاتی درباره زبان و فرهنگ
در هنگام ایجاد یک وب سایت مسایلی وجود دارد که در هر فرهنگ و زبانی بگونه ای متفاوت می باشند که باید به آنها توجه کرد .این مسایل شامل موارد زیر می باشند :
محتوای پایگاه داده . بخش اعظم اطلاعات شامل اخبار ، مقالات ، مشخصات محصولات و مانند آن اغلب در پایگاه داده ها قرار می گیرند . اگرچه خیلی از سایت ها این مطالب را در فایل های HTML نگه داری می کنند .
گرافیک . به واقع هر سایتی برای خود مشخصه های گرافیکی دارد که خیلی از بخش های آن با تغییر زبان تغییر نمی کنند . ولی مطمئناً هر عکسی که شامل متن باشد نیازمند بین المللی سازی می باشد و یا مممکن است تصویری شامل سمبل هایی باشد که در زبان های مختلف معانی متفاوتی داشته باشند .
منابع متنی . که شامل اعداد و مطالب ثابت سایت مثل جمله حق نشر ، صفحه خوش آمدگویی ورودی سایت و غیره می باشد . اکثر وب سایت ها این مطالب را در صفحات جداگانه اعم از HTML و یا aspx نگه داری می کنند .
تاریخ .در فرهنگ های مختلف تاریخ به شکل های متفاوتی نمایش داده می شود . برای مثال تاریخ ” اول دسامبر ۲۰۰۴ ” در انگلستان به فرم “۰۴/۱۲/۱ ” و در آمریکا به فرم “۰۴/۱/۱۲ ” نمایش داده می شود . بنابراین نمایش تاریخ به فرم صحیح برای کاربران با فرهنگ های مختلف بسیار مهم می باشد .
علاوه بر این چهار حوزه گفته شده ، مسایل دیگری نیز وجود دارد که باید آنها را نیز در کار در نظر گرفت .این مسایل شامل واحدهای پولی ، فرمت های محلی برای نوشتن اعداد ، مرتب سازی و بزرگی و کوچکی حروف در زبان هایی مختلف و واحدهای اندازه گیری می باشد .
فرآیند ترجمه
فرآیند ترجمه بخش مهمی از بین المللی سازی وب سایت را شامل می شود . در اینجا تعدادی پرسش وجود دارد که در هنگام طراحی برنامه بین المللی تان باید به آنها پاسخ دهید :
چه کسی محتوا را ترجمه خواهد کرد ؟
سایت از چه زبان هایی حمایت خواهد کرد ؟
در هنگام بروز مشکلات زبان اولیه برای نمایش منابع و اشکالات نمایش داده شده چیست؟
در این سایت از چهار زبان انگلیسی ، چینی ، فرانسه و ژاپنی استفاده می شود .
نگاشت محتوا به کلاس ها
در وب سایت نمونه ای که در طی این مقالات ایجاد خواهیم کرد مقالات خبری را در چندین زبان مختلف ترجمه و نگه داری می کنیم و با توجه به زبان انتخاب شده توسط بازدید کننده نمایش داده می شود . در این سایت متن مقالات ، صفحات و تاریخ و تصاویر با توجه به فرهنگ آن زبان نمایش داده می شود .
همانگونه که مرسوم است سایت خبری ما نیز مقالاتش را در پایگاه داده ذخیره می کند زیرا در این روش ایجاد یک رابط مدیریتی برای ویرایشگران و روزنامه نگاران ساده می باشد . اولین گام در ایجاد این برنامه ساختن یک رابط کاربر برای نمایش شرح اخبار می باشد . مشکلی که در این کار نهفته است این است که کدام نسخه زبانی از مقاله باید نمایش داده شود. در اینجا نیازمندی های ساده این سایت گفته شده است :
در این سایت محتوای هر مقاله در چهار زبان مختلف ذخیره می گردد .
کاربران زبان مورد نظرشان را از بین زبان های : English-UK ، French-France ، Chinese-China و Japanese-Japan انتخاب می کنند .
زبان پیش فرض English-UK می باشد .
در این سایت مقالات خبری در صورت وجود با توجه به زبان انتخاب شده نمایش داده می شود .
هر مقاله شامل یک شناسه منحصر بفرد ، عنوان ، متن مقاله و تاریخ انتشار می باشد .
از آنجاییکه این فقط یک نمونه برای آشنایی با بین المللی سازی می باشد بنابراین هیچ واسطی برای فرستادن ، ویرایش و حذف مقالات وجود ندارد و داده های آزمایشی به صورت مستقیم در پایگاه داده SQL Server درج خواهد شد .
در این سایت کلاسی به نام Article وجود دارد که توسط آن نمونه ای از مقاله در یک زبان معین ارائه می شود . در ابتدای فایل این کلاس (Article.cs ) فضای نام های مورد نیاز زیر را قرار می دهیم .
using System.Data;
using System.Globalization;
فضای نام System.Data کلاس DataSet را فراهم می کند و فضای نام System.Globalization کلاس هایی را که برای محلی سازی اطلاعات از آنها استفاده می شود را فراهم می کند که مهمترین آنها کلاس CultureInfo می باشد ، این کلاس نماینگر یک فرهنگ می باشد و از آن برای مشخص کردن فرهنگی که برای نمایش محتوا باید بکار برده شود استفاده می شود .
کلاس Article یک سری اعضای خصوصی (private ) دارد که برای نگه داری شناسه ، عنوان ، متن مقاله و تاریخ انتشار و فرهنگ ( هر نمونه از Article بخشی از محتوا را در یک فرهنگ مشخص نمایش می دهد ) بکار رفته در آن استفاده می شوند .
private int articleID;
private string articleTitle = “”;
private string articleBody = “”;
private DateTime articlePublicationDate;
private CultureInfo articleCulture;
سپس تعدادی پروپرتی برای این فیلدهای خصوصی وجود دارد که محتوای این فیلدها را بر روی صفحه برای هر مقاله انتخاب شده نمایش می دهد :
public string Title
{
get { return articleTitle; }
}
public string Body
{
get { return articleBody; }
}
public DateTime PublicationDate
{
get { return articlePublicationDate; }
}
public CultureInfo Culture
{
get { return articleCulture; }
}
public int ArticleID
{
get { return articleID; }
}
حال در پایگاه داده SQL Server 2000 یک دید (view) به نام ArticleDetail ایجاد می کنیم که به مانند تصویر شماره یک می باشد .
http://www.irandevelopers.com/wp-content/uploads/2009/02/aaaa.jpg
تصویر شماره یک
هر ردیف از دیتاست این دید نمایانگر یک نسخه از یک مقاله در یک زبان مشخص می باشد و هر نسخه شامل شناسه مقاله ، تاریخ ، عنوان مفاله و رشته مشخص کننده فرهنگ می باشد .
توجه : اگرچه هم SQL Server 2000 و هم Access از استاندارد یونی کد پشتیبانی می کنند اما شما ممکن است که نیاز داشته باشید تا کامپیوترتان را برای نمایش کاراکترهای زبان های مختلف پیکربندی کنید ؛ برای این کار باید پشتیبانی از زبان های خارجی را در Windows نصب کرده باشید .
کلاس Article یک سازنده اورلود شده دارد که یک شناسه از نوع integer را برای مشخص کردن شناسه مقاله و یک شی از نوع System.Globalization.CultureInfo که نمایانگر فرهنگ بکار رفته در آن مقاله می باشد را می گیرد و یک شی از نوع Article بر می گرداند .
public Article(int articleID, CultureInfo culture)
{
}
حال پرس و جوی SQL زیر را در سازنده قرار می دهیم تا با استفاده از دو آرگومان سازنده ، ترجمه مرتبط با مقاله خواسته شده را بازیابی کند .
string Sql = “SELECT * FROM ArticleDetail WHERE ArticleID=” + articleID + ” AND LanguageID=’” + culture.Name + “‘”;
سازنده مقدار پرس و جوی SQL را به یک متد استاتیک کمکی به نام GetDataSet() می فرستد تا در آن سطرهای مرتبط برگردنده شوند .
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
namespace Multilingual
{
public class Database
{
public static DataSet GetDataSet(string Sql)
{
DataSet DS = new DataSet();
string myPhysicalPath =
HttpContext.Current.Request.PhysicalApplicationPat h;
string connectionString =
“Server=optimism;Database=sqlservername;
UID=sqlserveraccountname;PWD=mypassword;”;
SqlConnection myConnection =
new SqlConnection(connectionString);
SqlDataAdapter myDataAdapter =
new SqlDataAdapter(Sql, myConnection);
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet);
return myDataSet;
}
}
}
بنابراین ، کلاس Article یک مقاله را بوسیله ایجاد یک عبارت SQL و فرستادن آن به متد GetDataSet() از شی DataBase بازیابی می کند .
DataSet dataSet = Database.GetDataSet(Sql);
در صورتیکه پرس و جو هیچ سطری از دید را برنگرداند پس اینچنین مقاله ای در آن فرهنگ خاص موجود نمی باشد ، در این صورت بلاک کد بعدی یک پرس و جوی جدید را برای جستجوی نسخه انگلیسی مقاله که همان نسخه پیش فرض می باشد را اجرا می کند .
if (dataSet.Tables[0].Rows.Count == 0)
{
Sql = “SELECT * FROM ArticleDetail WHERE ArticleID=” + articleID + ” AND
LanguageID=’” + “en-gb” + “‘”;
dataSet = Database.GetDataSet(Sql);
}
حال در صورتیکه پس از اجرای عبارت SQL دوم نیز هیچ مقاله ای با آن مشخصات پیدا نشد استثنای زیر اجرا می گردد .
if (dataSet.Tables[0].Rows.Count == 0)
{
Exception exception = new Exception(”Article not available”);
throw exception;
}
و در صورتیکه نتیجه ای برگردانده شود سازنده مقادیر اعضای خصوصی را در آنها قرار می دهد . که این اعضا شامل عنوان ، متن مقاله ، تاریخ انتشار و فرهنگ آن می باشد .
DataTable dt = dataSet.Tables[0];
articleTitle = dt.Rows[0]["Title"].ToString();
articleBody = dt.Rows[0]["Body"].ToString();
articlePublicationDate = DateTime.Parse
(dt.Rows[0]["PublicationDate"].ToString());
articleCulture = CultureInfo.
CreateSpecificCulture(dt.Rows[0]["LanguageID"].ToString());
}
در خط اخر سازنده متد CreateSpecificCulture() قرار دارد که برای ایجاد یک شی جدید CultureInfo مورد استفاده قرار می گیرد از این شی برای بیان فرهنگ مقاله استفاده می شود . متد CreateSpecificCulture() رشته ای که نام فرهنگ می باشد مانند “en-GB ” را می گیرد و شی CultureInfo را که دربرگیرنده اکثر مشخصات فرهنگی یک زبان می باشد را بر می گرداند .