ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ 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.Collator: ಲೊಕೇಲ್-ಸೂಕ್ಷ್ಮ ರೀತಿಯಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್ಗಳನ್ನು ಹೋಲಿಸಲು.
- Intl.DateTimeFormat: ದಿನಾಂಕಗಳು ಮತ್ತು ಸಮಯಗಳನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು.
- Intl.NumberFormat: ಕರೆನ್ಸಿಗಳು ಮತ್ತು ಶೇಕಡಾವಾರು ಸೇರಿದಂತೆ ಸಂಖ್ಯೆಗಳನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು.
- Intl.PluralRules: ವಿವಿಧ ಭಾಷೆಗಳಲ್ಲಿ ಬಹುವಚನ ನಿಯಮಗಳನ್ನು ನಿರ್ವಹಿಸಲು.
- Intl.ListFormat: ಪಟ್ಟಿಗಳನ್ನು ಲೊಕೇಲ್-ಸೂಕ್ಷ್ಮ ರೀತಿಯಲ್ಲಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು.
- Intl.RelativeTimeFormat: ಸಾಪೇಕ್ಷ ಸಮಯಗಳನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು (ಉದಾ, "ನಿನ್ನೆ", "2 ಗಂಟೆಗಳಲ್ಲಿ").
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 ಸಂಖ್ಯೆಯನ್ನು ಅರೇಬಿಕ್ನಲ್ಲಿ (ಈಜಿಪ್ಟ್) ಶೇಕಡಾವಾರು ಪ್ರಮಾಣದಲ್ಲಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುತ್ತದೆ. ಔಟ್ಪುಟ್ ಅರೇಬಿಕ್ ಶೇಕಡಾವಾರು ಚಿಹ್ನೆ (٪) ಮತ್ತು ಎರಡು ದಶಮಾಂಶ ಸ್ಥಾನಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
ಕರೆನ್ಸಿ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ಗಾಗಿ ಪ್ರಮುಖ ಪರಿಗಣನೆಗಳು:
- ಕರೆನ್ಸಿ ಕೋಡ್ಗಳು: ಸರಿಯಾದ ISO 4217 ಕರೆನ್ಸಿ ಕೋಡ್ಗಳನ್ನು ಬಳಸಿ (ಉದಾ, USD, EUR, JPY).
- ಚಿಹ್ನೆಯ ನಿಯೋಜನೆ: ಲೊಕೇಲ್ಗಳಲ್ಲಿ ಕರೆನ್ಸಿ ಚಿಹ್ನೆಯ ಸ್ಥಾನವು ಬದಲಾಗುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ಮೊತ್ತದ ಮೊದಲು ಅಥವಾ ನಂತರ) ಎಂಬುದನ್ನು ಗಮನದಲ್ಲಿಡಿ.
- ದಶಮಾಂಶ ವಿಭಜಕಗಳು ಮತ್ತು ಗುಂಪು ವಿಭಜಕಗಳು: ದಶಮಾಂಶ ವಿಭಜಕಗಳು (ಉದಾ, ಪೂರ್ಣವಿರಾಮ ಅಥವಾ ಅಲ್ಪವಿರಾಮ) ಮತ್ತು ಗುಂಪು ವಿಭಜಕಗಳು (ಉದಾ, ಅಲ್ಪವಿರಾಮ ಅಥವಾ ಪೂರ್ಣವಿರಾಮ) ಗಾಗಿ ವಿಭಿನ್ನ ಸಂಪ್ರದಾಯಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ.
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
ಆಬ್ಜೆಕ್ಟ್ ವಿಭಿನ್ನ ಸಂಯೋಗಗಳ (ಉದಾ, "and", "or") ಮತ್ತು ಪಟ್ಟಿ ವಿಭಜಕಗಳ (ಉದಾ, ಅಲ್ಪವಿರಾಮಗಳು, ಅರ್ಧವಿರಾಮ ಚಿಹ್ನೆಗಳು) ಬಳಕೆಯನ್ನು ಒಳಗೊಂಡಂತೆ ಲೊಕೇಲ್-ನಿರ್ದಿಷ್ಟ ಸಂಪ್ರದಾಯಗಳ ಪ್ರಕಾರ ಪಟ್ಟಿಗಳನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಉದಾಹರಣೆ:
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. ಎಡ್ಜ್ ಕೇಸ್ಗಳು ಮತ್ತು ಕಾಣೆಯಾದ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸಿ
ಎಲ್ಲಾ ಲೊಕೇಲ್ಗಳನ್ನು ಪ್ರತಿ ಬ್ರೌಸರ್ ಅಥವಾ ಪರಿಸರದಿಂದ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ಲೊಕೇಲ್ ಲಭ್ಯವಿಲ್ಲದಿದ್ದಾಗ ಅಥವಾ ಡೇಟಾ ಕಾಣೆಯಾದಾಗ ಎಡ್ಜ್ ಕೇಸ್ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಅತ್ಯಗತ್ಯ. ಕೆಳಗಿನ ತಂತ್ರಗಳನ್ನು ಪರಿಗಣಿಸಿ:
- ಫಾಲ್ಬ್ಯಾಕ್ ಲೊಕೇಲ್ಗಳನ್ನು ಒದಗಿಸಿ: ಬಳಕೆದಾರರ ಆದ್ಯತೆಯ ಲೊಕೇಲ್ ಬೆಂಬಲಿಸದಿದ್ದಾಗ ಬಳಸಲು ಡೀಫಾಲ್ಟ್ ಲೊಕೇಲ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ.
- ಸೌಮ್ಯವಾಗಿ ಡಿಗ್ರೇಡ್ ಮಾಡಿ: ನಿರ್ದಿಷ್ಟ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಆಯ್ಕೆಗಳನ್ನು ಲೊಕೇಲ್ಗೆ ಬೆಂಬಲಿಸದಿದ್ದರೆ, ಸಮಂಜಸವಾದ ಫಾಲ್ಬ್ಯಾಕ್ ಅನ್ನು ಒದಗಿಸಿ. ಉದಾಹರಣೆಗೆ, ನೀವು ಕಡಿಮೆ ವಿವರವಾದ ಸ್ವರೂಪದಲ್ಲಿ ದಿನಾಂಕವನ್ನು ಪ್ರದರ್ಶಿಸಬಹುದು.
- ಟ್ರೈ-ಕ್ಯಾಚ್ ಬ್ಲಾಕ್ಗಳನ್ನು ಬಳಸಿ: ಸಂಭಾವ್ಯ ದೋಷಗಳನ್ನು ಸೌಮ್ಯವಾಗಿ ನಿರ್ವಹಿಸಲು ಟ್ರೈ-ಕ್ಯಾಚ್ ಬ್ಲಾಕ್ಗಳಲ್ಲಿ Intl API ಕರೆಗಳನ್ನು ಸುತ್ತುವರಿಯಿರಿ.
9. ವಿಭಿನ್ನ ಲೊಕೇಲ್ಗಳೊಂದಿಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಪರೀಕ್ಷಿಸಿ
ನಿಮ್ಮ ಅಂತರರಾಷ್ಟ್ರೀಕೃತ ಅಪ್ಲಿಕೇಶನ್ ಎಲ್ಲಾ ಬೆಂಬಲಿತ ಲೊಕೇಲ್ಗಳಿಗೆ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಸಂಪೂರ್ಣ ಪರೀಕ್ಷೆಯು ನಿರ್ಣಾಯಕವಾಗಿದೆ. ವಿಭಿನ್ನ ಅಕ್ಷರ ಸೆಟ್ಗಳು, ದಿನಾಂಕ ಮತ್ತು ಸಮಯದ ಸ್ವರೂಪಗಳು, ಸಂಖ್ಯೆ ಸ್ವರೂಪಗಳು ಮತ್ತು ಬಹುವಚನ ನಿಯಮಗಳನ್ನು ಬಳಸುವ ಭಾಷೆಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ವಿವಿಧ ಲೊಕೇಲ್ಗಳೊಂದಿಗೆ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಿ.
ವಿಭಿನ್ನ ಲೊಕೇಲ್ಗಳಲ್ಲಿ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ನಿರೀಕ್ಷೆಯಂತೆ ವರ್ತಿಸುತ್ತದೆ ಎಂದು ಪರಿಶೀಲಿಸಲು ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷಾ ಸಾಧನಗಳನ್ನು ಬಳಸುವುದನ್ನು ಪರಿಗಣಿಸಿ.
10. ಕಾರ್ಯಕ್ಷಮತೆಯ ಪರಿಣಾಮಗಳನ್ನು ಪರಿಗಣಿಸಿ
Intl API ಸಾಮಾನ್ಯವಾಗಿ ಪರಿಣಾಮಕಾರಿಯಾಗಿದ್ದರೂ, Intl ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ರಚಿಸುವುದು ತುಲನಾತ್ಮಕವಾಗಿ ದುಬಾರಿಯಾಗಬಹುದು. ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಉತ್ತಮಗೊಳಿಸಲು, ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಪರಿಗಣಿಸಿ:
- Intl ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ಕ್ಯಾಶ್ ಮಾಡಿ: ಪ್ರತಿ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಗಾಗಿ ಹೊಸ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ರಚಿಸುವ ಬದಲು, ಒಮ್ಮೆ Intl ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ರಚಿಸಿ ಮತ್ತು ಸಾಧ್ಯವಾದಾಗಲೆಲ್ಲಾ ಅವುಗಳನ್ನು ಮರುಬಳಕೆ ಮಾಡಿ.
- ಲೇಜಿ ಲೋಡ್ ಲೊಕೇಲ್ ಡೇಟಾ: ಎಲ್ಲಾ ಲೊಕೇಲ್ ಡೇಟಾವನ್ನು ಮುಂಚಿತವಾಗಿ ಲೋಡ್ ಮಾಡುವ ಬದಲು, ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ ಲೊಕೇಲ್ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿ.
Intl API ಮೀರಿ: ಅಂತರರಾಷ್ಟ್ರೀಕರಣಕ್ಕಾಗಿ ಹೆಚ್ಚಿನ ಪರಿಗಣನೆಗಳು
Intl API ಡೇಟಾವನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು ಪ್ರಬಲ ಸಾಧನಗಳನ್ನು ಒದಗಿಸಿದರೂ, ಅಂತರರಾಷ್ಟ್ರೀಕರಣವು ಕೇವಲ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ಗಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಕೆಳಗಿನ ಹೆಚ್ಚುವರಿ ಅಂಶಗಳನ್ನು ಪರಿಗಣಿಸಿ:
- ಪಠ್ಯ ನಿರ್ದೇಶನ (RTL/LTR): ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಲೇಔಟ್ ಅನ್ನು ಸರಿಹೊಂದಿಸಲು CSS ಅನ್ನು ಬಳಸಿಕೊಂಡು ಅರೇಬಿಕ್ ಮತ್ತು ಹೀಬ್ರೂ ನಂತಹ ಬಲದಿಂದ ಎಡಕ್ಕೆ (RTL) ಭಾಷೆಗಳನ್ನು ಬೆಂಬಲಿಸಿ.
- ಕ್ಯಾರೆಕ್ಟರ್ ಎನ್ಕೋಡಿಂಗ್: ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಅಕ್ಷರಗಳನ್ನು ನಿಭಾಯಿಸಬಲ್ಲದು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು UTF-8 ಎನ್ಕೋಡಿಂಗ್ ಅನ್ನು ಬಳಸಿ.
- ಅನುವಾದ ನಿರ್ವಹಣೆ: ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಪಠ್ಯವನ್ನು ಭಾಷಾಂತರಿಸುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸುಗಮಗೊಳಿಸಲು ಅನುವಾದ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸಿ.
- ಸಾಂಸ್ಕೃತಿಕವಾಗಿ ಸೂಕ್ಷ್ಮ ವಿನ್ಯಾಸ: ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವಾಗ ಸಾಂಸ್ಕೃತಿಕ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಗಮನದಲ್ಲಿರಿಸಿಕೊಳ್ಳಿ. ಉದಾಹರಣೆಗೆ, ಬಣ್ಣದ ಸಂಕೇತವು ಸಂಸ್ಕೃತಿಗಳಲ್ಲಿ ಬದಲಾಗಬಹುದು.
ತೀರ್ಮಾನ
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ Intl API ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರನ್ನು ಪೂರೈಸುವ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಒಂದು ಅಮೂಲ್ಯವಾದ ಸಾಧನವಾಗಿದೆ. ಈ ಲೇಖನದಲ್ಲಿ ವಿವರಿಸಿರುವ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸುವ ಮೂಲಕ, ನೀವು ಕ್ರಿಯಾತ್ಮಕ ಮಾತ್ರವಲ್ಲದೆ ಪ್ರಪಂಚದಾದ್ಯಂತದ ಬಳಕೆದಾರರಿಗೆ ಸಾಂಸ್ಕೃತಿಕವಾಗಿ ಸೂಕ್ಷ್ಮ ಮತ್ತು ಬಳಕೆದಾರ ಸ್ನೇಹಿಯಾಗಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ರಚಿಸಬಹುದು. Intl API ಯ ಶಕ್ತಿಯನ್ನು ಸ್ವೀಕರಿಸಿ ಮತ್ತು ಜಾಗತಿಕ ವೇದಿಕೆಯಲ್ಲಿ ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಸಾಮರ್ಥ್ಯವನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ. Intl API ನಲ್ಲಿ ಪಾಂಡಿತ್ಯವನ್ನು ಸಾಧಿಸುವುದು ನಿಮ್ಮ ಎಲ್ಲಾ ಬಳಕೆದಾರರಿಗೆ, ಅವರ ಸ್ಥಳ ಅಥವಾ ಭಾಷೆಯನ್ನು ಲೆಕ್ಕಿಸದೆ ಹೆಚ್ಚು ಅಂತರ್ಗತ ಮತ್ತು ಪ್ರವೇಶಿಸಬಹುದಾದ ಅನುಭವವನ್ನು ನೀಡುತ್ತದೆ.