- បញ្ចូលអត្តសញ្ញាណភាសាវាយតាក់ BCP 47, ភាសា POSIX-style locale, ឬឈ្មោះភាសា សម្រាប់ប្រអប់បញ្ចូល។
- សូមពិនិត្យរូបមន្តវិញ្ញាបនបត្រផ្លូវការនេះពិនិត្យមើលទ្រង់ទ្រាយ BCP 47 ដែលបានធម្មតី និងទ្រង់ទ្រាយអន្ទងក្រោម ព្រមទាំងភាសាដែលបានគេស្គាល់ ស្គ្រីប តំបន់ និងទិសដៅការសរសេរ។
- ចម្លងការបម្លែងចម្លើយដែលមានស្លាកសញ្ញា យកចម្លើយនោះចម្លងនៅពេលអ្នកបានរៀបចំប្រើ {locale} ក្នុងកូដ ឬកំណត់រចនាសម្ព័ន្ធ។
បំលែងទ្រង់ទ្រាយ locale ដោយមិនអានអញ្ញឹកអញ្ញែ
អត្តសញ្ញាណភាសា (locale identifiers) មើលទៅតូច តែមិនស្មើគ្នា នៅពេលប្រើករណីដាច់ដោយឡែក រឺសញ្ញាបំបែក និងការសន្មត់តំបន់ វាធ្វើឲ្យការបញ្ជូនភាសា និងការធ្វើ fallback ဒំណើរការបកប្រែខូចខាតជាញឹកញាប់។ កម្មវិធីផ្លាស់ប្តូរនេះ canonicalize កូដដោយប្រើច្បាប់ Internationalization API របស់កម្មវិភាគហ្វ្រោល (browser) ហើយបង្ហាញទ្រង់ទ្រាយស្មើគ្នាចៀសពីគ្នាតាមជួរ។
អ្នកអាចចាប់ផ្តើមដោយប្រើតាក់ BCP 47, កូដបែប underscore ឬឈ្មោះភាសាធម្មតា។ លទ្ធផលនឹងបំបែកភាសា, ស្គ្រីប និងតំបន់ ដូច្នេះអ្នកអាចមើលឃើញយ៉ាងច្បាស់ថាអត្តសញ្ញាណនីមួយៗបានសន្យាអ្វីទៅអ្នកប្រើ និងកម្មវិធី។
BCP 47, POSIX និងកូដ ISO ព expalined
BCP 47 គឺជាស្តង់ដារបណ្ដាញ៖ ភាសាមុនសិន បន្ទាប់មកជាសប្តាខ័រអក្សរសិល្ប៍ និងតំបន់ដែលជាជម្រើស ដែលចែកពីគ្នាដោយសញ្ញាគន្លឹះ (-)។ លოკាលស្ទីល POSIX ជាទូទៅប្រើអក្សរទាញក្រោក (_)។ សប្តាខ័រភាសា ជាធម្មតាមានដើមមកពី ISO 639 ខណៈដែលសប្តាខ័រតំបន់ពីរចន្លោះមកពី ISO 3166-1។
ការធ្វើ canonicalization ជួសជុលរូបភាព (presentation) មិនមែនអត្ថន័យទេ។ ឧទាហរណ៍ វាអាចធ្វើការធម្មតាអក្សរនិងនាមដ្ឋានដែលគេដឹង បាន ប៉ុន្តែវាមិនអាចសម្រេចថា ភាសាស្ប៉ាញទូទៅគួរត្រូវបានកំណត់ជា es-ES ឬ es-MX ទេ។ ការសម្រេចចិត្តផលិតផលនោះគួរត្រូវបានភ្ជាប់ទៅនឹងខ្លឹមសារដែលអ្នកបានបកប្រែជាក់ស្តែង។
ប្រើភាសាតំបន់ដែលតូចបំផុតដែលនៅតែមានភាពត្រឹមត្រូវ
ជ្រើសរើស tag របៀបភាសាតែក្នុងករណីដែលការប្រែសម្រួលមួយពិតប្រាកដជាសមរម្យសម្រាប់គ្រប់តំបន់។ បន្ថែមតំបន់នៅពេលដែលអក្សរសម្គាល់ ប្រាក់ប្រជាជាតិ អត្ថបទផ្នែកច្បាប់ ការវាស់វែង ឬការចេញលក់ផលិតផលខុសគ្នា។ បន្ថែមស្គ្រីបនៅពេលដែលអ្នកអាននៃភាសាដូចគ្នាប្រើប្រព័ន្ធសរសេរដែលខុសប្លែកសំខាន់ៗ។
អ្វីៗដែលបញ្ចូលនៅទីនេះទាំងអស់ត្រូវបានដំណើរការនៅក្នុងកម្មវិធីរុករករបស់អ្នក។ Multilocale មិនទទួលបានតម្លៃនោះមិនទុកអោយក្រោយមិនភ្ជាប់វាទៅព័ត៌មានវិភាគទេ។
តើមានភាពខុសគ្នាអ្វីរវាង en-US និង en_US?
en-US គឺជាប្រភេទ BCP 47 ដែលប្រើដោយ HTML, hreflang, JavaScript, និង API វែបភាគច្រើន។ en_US គឺជាប្រភេទរចនាសម្ព័ន្ធស្តាយ POSIX ដែលនៅតែប្រើដោយប្រព័ន្ធប្រតិបត្តិការ, ទិន្នន័យមូលដ្ឋាន, និង ឯកសារប្រែប្រួលខ្លះៗ។ ពួកវាធម្មតានិយាយពី locale អង់គ្លេសសម្រាប់សហរដ្ឋអាមេរិកដូចគ្នា។
តើកូដភាសាតែមួយនឹងកូដភាសាម្លេចដែរ តើពួកវាស្មើកូដភាសាមែនទេ?
ទេ។ កូដភាសាដូចជា en បញ្ជាក់អំពីភាសា។ ស្ថានទីភូមិ (locale) អាចបញ្ជាក់អំពីអក្សរយ៉ាងណា តំបន់ ឬទាំងពីរបានផងដែរ ដូចជា zh-Hant-TW សម្រាប់ភាសាចិនប្រុងប្រើក្នុងតៃវ៉ាន់។ ប្រើព័ត៌មានលំអិតតែប៉ុណ្ណោះដែលផលិតផលរបស់អ្នកត្រូវការពិតប្រាកដ។
ត្រូវប្រើទ្រង់ទ្រាយ locale មួយណាលើគេហទំព័រ?
ប្រើស្លាក BCP 47 តាមច្បាប់ជាមួយសញ្ញារបៀបដកក្បាល (-) សម្រាប់អ្នកប្រើ HTML lang, hreflang, បណ្ណាព័ត៌មាន Intl, និងការចរចាភាសា HTTP។ រក្សាកូដមានសញ្ញាអន្ទាក់ក្រោម (_) តែប៉ុណ្ណោះនៅពេលដែលបណ្ណាល័យ ឬប្រព័ន្ធឯកសារមានប្រតិបត្តិការប្រPASចេញជាក់លាក់ដែលទាមទារ។