தமிழ்

ஜாவாஸ்கிரிப்ட் Intl API மூலம் உலகளாவிய பயனர்களை சென்றடையுங்கள். தேதிகள், எண்கள், நாணயங்கள் போன்றவற்றை வடிவமைப்பு செய்வதற்கான சர்வதேசமயமாக்கலின் சிறந்த நடைமுறைகளைக் கற்று, உலகெங்கும் தடையற்ற பயனர் அனுபவத்தை உறுதி செய்யுங்கள்.

ஜாவாஸ்கிரிப்ட் Intl API: உலகளாவிய பார்வையாளர்களுக்கான சர்வதேசமயமாக்கலின் சிறந்த நடைமுறைகள்

இன்றைய இணைக்கப்பட்ட உலகில், உலகளாவிய பார்வையாளர்களை இலக்காகக் கொண்ட வலைப் பயன்பாடுகளை உருவாக்குவது மிகவும் முக்கியமானது. ஜாவாஸ்கிரிப்ட் Intl API ஆனது சர்வதேசமயமாக்கலுக்கான (i18n) சக்திவாய்ந்த கருவிகளை வழங்குகிறது. இது தேதிகள், எண்கள், நாணயங்கள் மற்றும் பலவற்றை வெவ்வேறு லொகேல்களின் மரபுகளுக்கு ஏற்ப வடிவமைக்க உதவுகிறது. இந்த கட்டுரை, உண்மையான உலகளாவிய பயன்பாடுகளை உருவாக்க Intl API-ஐப் பயன்படுத்துவதற்கான சிறந்த நடைமுறைகளை ஆராய்கிறது.

சர்வதேசமயமாக்கல் (i18n) மற்றும் உள்ளூர்மயமாக்கல் (l10n) ஆகியவற்றைப் புரிந்துகொள்ளுதல்

Intl API-ன் நுணுக்கங்களுக்குள் செல்வதற்கு முன், சர்வதேசமயமாக்கல் (i18n) மற்றும் உள்ளூர்மயமாக்கல் (l10n) ஆகியவற்றுக்கு இடையேயான வேறுபாட்டைப் புரிந்துகொள்வது அவசியம். i18n என்பது ஒரு பொறியியல் மாற்றம் தேவைப்படாமல், வெவ்வேறு மொழிகளுக்கும் பிராந்தியங்களுக்கும் எளிதாக மாற்றியமைக்கக்கூடிய வகையில் பயன்பாடுகளை வடிவமைத்து உருவாக்கும் செயல்முறையாகும். மறுபுறம், L10n என்பது ஒரு சர்வதேசமயமாக்கப்பட்ட பயன்பாட்டை ஒரு குறிப்பிட்ட லொகேலுக்கு ஏற்ப உரையை மொழிபெயர்ப்பதன் மூலமும் பிற லொகேல்-சார்ந்த கூறுகளைத் தனிப்பயனாக்குவதன் மூலமும் மாற்றியமைக்கும் செயல்முறையாகும்.

Intl API ஆனது i18n அம்சத்தில் கவனம் செலுத்துகிறது, இது லொகேல்-உணர்திறன் கொண்ட தரவைக் கையாள்வதற்கான வழிமுறைகளை வழங்குகிறது, அதேசமயம் உள்ளூர்மயமாக்கல் பொதுவாக மொழிபெயர்ப்புகள் மற்றும் லொகேல்-சார்ந்த உள்ளமைவுகளை வழங்குவதை உள்ளடக்கியது.

Intl API-இன் முக்கிய கூறுகள்

Intl API பல முக்கிய ஆப்ஜெக்ட்களைக் கொண்டுள்ளது, ஒவ்வொன்றும் சர்வதேசமயமாக்கலின் குறிப்பிட்ட அம்சங்களைக் கையாளுகின்றன:

Intl API-ஐப் பயன்படுத்துவதற்கான சிறந்த நடைமுறைகள்

Intl API-ஐ திறம்படப் பயன்படுத்தவும், உங்கள் உலகளாவிய பார்வையாளர்களுக்கு ஒரு நேர்மறையான பயனர் அனுபவத்தை உறுதி செய்யவும், பின்வரும் சிறந்த நடைமுறைகளைக் கவனியுங்கள்:

1. சரியான லொகேலைக் குறிப்பிடுங்கள்

சர்வதேசமயமாக்கலின் அடித்தளமே சரியான லொகேலைக் குறிப்பிடுவதுதான். லொகேல் என்பது மொழி, பிராந்தியம் மற்றும் வடிவமைப்பிற்காகப் பயன்படுத்தப்பட வேண்டிய குறிப்பிட்ட வகைகளைக் குறிக்கிறது. பயனரின் விருப்பமான லொகேலை navigator.language பண்பு அல்லது Accept-Language HTTP தலைப்பிலிருந்து நீங்கள் பெறலாம்.

Intl ஆப்ஜெக்ட்களை உருவாக்கும்போது, நீங்கள் லொகேலை ஒரு சரம் அல்லது சரங்களின் வரிசையாகக் குறிப்பிடலாம். நீங்கள் ஒரு வரிசையை வழங்கினால், API கிடைக்கக்கூடிய விருப்பங்களிலிருந்து சிறந்த பொருந்தக்கூடிய லொகேலைக் கண்டறிய முயற்சிக்கும்.

உதாரணம்:

const locale = navigator.language || 'en-US';
const numberFormat = new Intl.NumberFormat(locale);

பயனரின் விருப்பமான லொகேல் கிடைக்கவில்லை என்றால், நீங்கள் ஒரு மாற்று லொகேலை வழங்கலாம். எடுத்துக்காட்டாக, பயனரின் உலாவி ஆதரிக்கப்படாத லொகேலைப் புகாரளித்தால், நீங்கள் 'en-US' என்பதை இயல்புநிலையாகப் பயன்படுத்தலாம்.

2. தேதி மற்றும் நேர வடிவமைப்பிற்கு Intl.DateTimeFormat-ஐப் பயன்படுத்துங்கள்

ஒரு உள்ளூர்மயமாக்கப்பட்ட அனுபவத்தை வழங்குவதற்கு தேதிகளையும் நேரங்களையும் சரியாக வடிவமைப்பது மிகவும் முக்கியம். Intl.DateTimeFormat ஆப்ஜெக்ட் ஒரு குறிப்பிட்ட லொகேலின் மரபுகளுக்கு ஏற்ப தேதிகளையும் நேரங்களையும் வடிவமைக்க உங்களை அனுமதிக்கிறது.

ஆண்டு, மாதம், நாள், மணி, நிமிடம் மற்றும் நொடி வடிவம் போன்ற பல்வேறு விருப்பங்களைக் குறிப்பிடுவதன் மூலம் நீங்கள் வடிவமைப்பைத் தனிப்பயனாக்கலாம். உலகின் வெவ்வேறு பகுதிகளில் உள்ள பயனர்களுக்கு தேதிகளும் நேரங்களும் சரியாகக் காட்டப்படுவதை உறுதிசெய்ய நேர மண்டலத்தையும் நீங்கள் குறிப்பிடலாம்.

உதாரணம்:

const locale = 'de-DE'; // ஜெர்மன் (ஜெர்மனி)
const date = new Date();
const options = {
  year: 'numeric',
  month: 'long',
  day: 'numeric',
  hour: 'numeric',
  minute: 'numeric',
  timeZone: 'Europe/Berlin'
};

const dateTimeFormat = new Intl.DateTimeFormat(locale, options);
const formattedDate = dateTimeFormat.format(date); // வெளியீடு: எ.கா. "22. Mai 2024, 14:30"
console.log(formattedDate);

இந்த உதாரணம் தற்போதைய தேதி மற்றும் நேரத்தை ஜெர்மன் (ஜெர்மனி) லொகேலுக்கு ஏற்ப, ஆண்டு, மாதம், நாள், மணி மற்றும் நிமிடம் உட்பட வடிவமைக்கிறது. இது 'Europe/Berlin' நேர மண்டலத்தையும் குறிப்பிடுகிறது.

உலகெங்கிலும் பயன்படுத்தப்படும் வெவ்வேறு தேதி மற்றும் நேர வடிவங்களைக் கருத்தில் கொள்ள நினைவில் கொள்ளுங்கள். உதாரணமாக, அமெரிக்கா MM/DD/YYYY ஐப் பயன்படுத்துகிறது, அதே நேரத்தில் பல நாடுகள் DD/MM/YYYY ஐப் பயன்படுத்துகின்றன.

3. எண், நாணயம் மற்றும் சதவீத வடிவமைப்பிற்கு Intl.NumberFormat-ஐப் பயன்படுத்துங்கள்

Intl.NumberFormat ஆப்ஜெக்ட், எண்கள், நாணயங்கள் மற்றும் சதவீதங்களை லொகேல்-சார்ந்த மரபுகளுக்கு ஏற்ப வடிவமைக்க ஒரு நெகிழ்வான வழியை வழங்குகிறது. நாணயம், ஸ்டைல் (தசமம், நாணயம் அல்லது சதவீதம்), குறைந்தபட்ச மற்றும் அதிகபட்ச பின்ன இலக்கங்கள் மற்றும் பல போன்ற விருப்பங்களைக் குறிப்பிடுவதன் மூலம் நீங்கள் வடிவமைப்பைத் தனிப்பயனாக்கலாம்.

உதாரணம் (நாணய வடிவமைப்பு):

const locale = 'ja-JP'; // ஜப்பானிய (ஜப்பான்)
const amount = 12345.67;
const options = {
  style: 'currency',
  currency: 'JPY'
};

const numberFormat = new Intl.NumberFormat(locale, options);
const formattedAmount = numberFormat.format(amount); // வெளியீடு: எ.கா. "¥12,346"
console.log(formattedAmount);

இந்த உதாரணம் 12345.67 என்ற எண்ணை ஜப்பானிய யென் (JPY) ஆக வடிவமைக்கிறது. நாணயக் குறியீடு (¥) மற்றும் குழு பிரிப்பான் (,) ஆகியவை ஜப்பானிய லொகேலுக்கு ஏற்ப தானாகவே சரிசெய்யப்படுவதைக் கவனியுங்கள்.

உதாரணம் (சதவீத வடிவமைப்பு):

const locale = 'ar-EG'; // அரபு (எகிப்து)
const percentage = 0.75;
const options = {
  style: 'percent',
  minimumFractionDigits: 2
};

const numberFormat = new Intl.NumberFormat(locale, options);
const formattedPercentage = numberFormat.format(percentage); // வெளியீடு: எ.கா. "٧٥٫٠٠٪"
console.log(formattedPercentage);

இந்த உதாரணம் 0.75 என்ற எண்ணை அரபு (எகிப்து) மொழியில் சதவீதமாக வடிவமைக்கிறது. வெளியீட்டில் அரபு சதவீதக் குறி (٪) மற்றும் இரண்டு தசம இடங்கள் உள்ளன.

நாணய வடிவமைப்பிற்கான முக்கியக் குறிப்புகள்:

4. Intl.PluralRules மூலம் பன்மையைச் சரியாகக் கையாளவும்

பன்மை விதிகள் மொழிகளுக்கிடையே கணிசமாக வேறுபடுகின்றன. எடுத்துக்காட்டாக, ஆங்கிலத்தில் ஒருமை மற்றும் பன்மை வடிவங்களுடன் எளிய விதிகள் உள்ளன, அதே நேரத்தில் மற்ற மொழிகளில் எண்ணின் மதிப்பின் அடிப்படையில் மிகவும் சிக்கலான விதிகள் உள்ளன. Intl.PluralRules ஆப்ஜெக்ட் ஒரு குறிப்பிட்ட எண் மற்றும் லொகேலுக்கான சரியான பன்மை வடிவத்தை தீர்மானிக்க உதவுகிறது.

உதாரணம்:

const locale = 'ru-RU'; // ரஷ்யன் (ரஷ்யா)
const pluralRules = new Intl.PluralRules(locale);

function getPluralForm(count) {
  const rule = pluralRules.select(count);
  switch (rule) {
    case 'one': return 'товар'; // டோவர் (ஒருமை)
    case 'few': return 'товара'; // டோவரா (சில)
    case 'many': return 'товаров'; // டோவரோவ் (பல)
    default: return 'товаров'; // இயல்புநிலையாக பல
  }
}

const count = 5;
const pluralForm = getPluralForm(count);
console.log(`${count} ${pluralForm}`); // வெளியீடு: "5 товаров"

இந்த உதாரணம் ரஷ்ய மொழியில் "товар" (பொருள்) என்ற வார்த்தைக்கான சரியான பன்மை வடிவத்தைப் பெற Intl.PluralRules-ஐ எவ்வாறு பயன்படுத்துவது என்பதைக் காட்டுகிறது. ரஷ்ய மொழியில் எண் 1, 2-4, அல்லது 5-9 இல் முடிகிறதா என்பதைப் பொறுத்து வெவ்வேறு பன்மை வடிவங்கள் உள்ளன.

5. Intl.ListFormat உடன் பட்டியல்களை வடிவமைக்கவும்

பொருட்களின் பட்டியல்களை வழங்கும்போது, வடிவமைப்பு லொகேல்களைப் பொறுத்து மாறுபடலாம். Intl.ListFormat ஆப்ஜெக்ட், வெவ்வேறு இணைச்சொற்கள் (எ.கா., "மற்றும்", "அல்லது") மற்றும் பட்டியல் பிரிப்பான்கள் (எ.கா., காற்புள்ளிகள், அரைப்புள்ளிகள்) உட்பட, லொகேல்-சார்ந்த மரபுகளுக்கு ஏற்ப பட்டியல்களை வடிவமைக்க உங்களை அனுமதிக்கிறது.

உதாரணம்:

const locale = 'es-ES'; // ஸ்பானிஷ் (ஸ்பெயின்)
const list = ['manzanas', 'naranjas', 'plátanos'];
const listFormat = new Intl.ListFormat(locale, { style: 'long', type: 'conjunction' });

const formattedList = listFormat.format(list); // வெளியீடு: "manzanas, naranjas y plátanos"
console.log(formattedList);

இந்த உதாரணம் ஸ்பானிஷ் (ஸ்பெயின்) மொழியில் பழங்களின் பட்டியலை வடிவமைக்கிறது, கடைசி இரண்டு பொருட்களை இணைக்க "y" (மற்றும்) என்ற இணைச்சொல்லைப் பயன்படுத்துகிறது.

6. Intl.RelativeTimeFormat உடன் சார்பு நேரங்களை வடிவமைக்கவும்

சார்பு நேரங்களைக் காண்பிப்பது (எ.கா., "நேற்று", "2 மணி நேரத்தில்") நேரத் தகவலை வழங்குவதற்கான ஒரு பயனர் நட்பு வழியை வழங்குகிறது. Intl.RelativeTimeFormat ஆப்ஜெக்ட், லொகேல்-சார்ந்த மரபுகளுக்கு ஏற்ப சார்பு நேரங்களை வடிவமைக்க உங்களை அனுமதிக்கிறது.

உதாரணம்:

const locale = 'fr-CA'; // பிரெஞ்சு (கனடா)
const rtf = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' });

console.log(rtf.format(-1, 'day')); // வெளியீடு: "hier"
console.log(rtf.format(2, 'day')); // வெளியீடு: "dans 2 jours"

இந்த உதாரணம் பிரெஞ்சு (கனடா) மொழியில் சார்பு நேரங்களை வடிவமைக்கிறது. வெளியீடு "hier" (நேற்று) மற்றும் "dans 2 jours" (2 நாட்களில்) என்பதைக் காட்டுகிறது.

numeric விருப்பம் எண்கள் எவ்வாறு காட்டப்படுகின்றன என்பதைக் கட்டுப்படுத்துகிறது. `'auto'` கிடைக்கும்போது சார்பு வார்த்தைகளையும் (நேற்றையதைப் போல), மற்ற நேரங்களில் எண்களையும் காண்பிக்கும். `'always'` எப்போதும் எண்களைக் காண்பிக்கும்.

7. Intl.Collator உடன் சரங்களை வரிசைப்படுத்தவும்

சரம் ஒப்பீடு லொகேல்-உணர்திறன் கொண்டது. சரங்கள் வரிசைப்படுத்தப்படும் விதம் மொழியைப் பொறுத்து மாறுபடும். உதாரணமாக, ஜெர்மன் மொழியில், "ä" என்ற எழுத்து பொதுவாக "a" போல வரிசைப்படுத்தப்படுகிறது, அதே நேரத்தில் ஸ்வீடிஷ் மொழியில், அது "z" க்குப் பிறகு வரிசைப்படுத்தப்படுகிறது. Intl.Collator ஆப்ஜெக்ட் ஒரு குறிப்பிட்ட லொகேலின் விதிகளின்படி சரங்களை ஒப்பிட உங்களை அனுமதிக்கிறது.

உதாரணம்:

const locale = 'de-DE';
const collator = new Intl.Collator(locale);

const strings = ['äpfel', 'birnen', 'bananen', 'aprikosen'];
strings.sort(collator.compare);

console.log(strings); // வெளியீடு: ["äpfel", "aprikosen", "bananen", "birnen"]

இந்த உதாரணம் Intl.Collator-ஐப் பயன்படுத்தி ஜெர்மன் வார்த்தைகளின் வரிசையை வரிசைப்படுத்துகிறது. "äpfel" என்ற வார்த்தை "aprikosen"-க்கு முன் வரிசைப்படுத்தப்பட்டிருப்பதைக் கவனியுங்கள், அகரவரிசையில் "ä" பின்னர் வந்தாலும் கூட.

8. விளிம்பு நிலைகள் மற்றும் விடுபட்ட தரவைக் கையாளவும்

எல்லா லொகேல்களும் ஒவ்வொரு உலாவி அல்லது சூழலால் ஆதரிக்கப்படுவதில்லை. ஒரு லொகேல் கிடைக்காதபோது அல்லது தரவு விடுபட்டிருக்கும்போது விளிம்பு நிலைகளைக் கையாள்வது அவசியம். பின்வரும் உத்திகளைக் கவனியுங்கள்:

9. வெவ்வேறு லொகேல்களுடன் முழுமையாகச் சோதிக்கவும்

உங்கள் சர்வதேசமயமாக்கப்பட்ட பயன்பாடு ஆதரிக்கப்படும் அனைத்து லொகேல்களுக்கும் சரியாக வேலை செய்வதை உறுதிசெய்ய முழுமையான சோதனை செய்வது அவசியம். வெவ்வேறு எழுத்துத் தொகுப்புகள், தேதி மற்றும் நேர வடிவங்கள், எண் வடிவங்கள் மற்றும் பன்மை விதிகளைப் பயன்படுத்தும் மொழிகள் உட்பட பல்வேறு லொகேல்களுடன் உங்கள் பயன்பாட்டைச் சோதிக்கவும்.

உங்கள் பயன்பாடு வெவ்வேறு லொகேல்களில் எதிர்பார்த்தபடி செயல்படுகிறதா என்பதைச் சரிபார்க்க தானியங்கு சோதனை கருவிகளைப் பயன்படுத்துவதைக் கவனியுங்கள்.

10. செயல்திறன் தாக்கங்களைக் கருத்தில் கொள்ளுங்கள்

Intl API பொதுவாக திறமையானது என்றாலும், Intl ஆப்ஜெக்ட்களை உருவாக்குவது ஒப்பீட்டளவில் விலை உயர்ந்ததாக இருக்கும். செயல்திறனை மேம்படுத்த, பின்வருவனவற்றைக் கவனியுங்கள்:

Intl API-க்கு அப்பால்: சர்வதேசமயமாக்கலுக்கான மேலதிகக் குறிப்புகள்

Intl API தரவை வடிவமைக்க சக்திவாய்ந்த கருவிகளை வழங்கினாலும், சர்வதேசமயமாக்கல் என்பது வடிவமைப்பை விட மேலானது. பின்வரும் கூடுதல் அம்சங்களைக் கவனியுங்கள்:

முடிவுரை

ஜாவாஸ்கிரிப்ட் Intl API என்பது உலகளாவிய பார்வையாளர்களை இலக்காகக் கொண்ட வலைப் பயன்பாடுகளை உருவாக்குவதற்கான ஒரு விலைமதிப்பற்ற கருவியாகும். இந்தக் கட்டுரையில் கோடிட்டுக் காட்டப்பட்டுள்ள சிறந்த நடைமுறைகளைப் பின்பற்றுவதன் மூலம், நீங்கள் செயல்பாட்டுக்கு உகந்ததாகவும், அதே நேரத்தில் உலகெங்கிலும் உள்ள பயனர்களுக்கு கலாச்சார ரீதியாக உணர்திறன் மற்றும் பயனர் நட்புடன் கூடிய பயன்பாடுகளை உருவாக்க முடியும். Intl API-ன் சக்தியைத் தழுவி, உலக அரங்கில் உங்கள் பயன்பாட்டின் திறனைத் திறக்கவும். Intl API-ல் தேர்ச்சி பெறுவது, உங்கள் பயனர்கள் இருப்பிடம் அல்லது மொழியைப் பொருட்படுத்தாமல், அனைவருக்கும் உள்ளடக்கிய மற்றும் அணுகக்கூடிய அனுபவத்தை ஏற்படுத்தும்.