កាត
ទំព័រនេះត្រូវបានបកប្រែពីភាសាអង់គ្លេស។ ប្រសិនបើទាំងពីរខុសគ្នា ទំព័រភាសាអង់គ្លេសគឺត្រឹមត្រូវ។ អានទំព័រភាសាអង់គ្លេស
កាតគឺជាបញ្ជីខ្លីនៃធាតុដែល Lingara គូរតាមរចនាប័ទ្មផ្ទាល់របស់វា។ គ្មានប្រអប់បញ្ចូល រូបភាព ស្គ្រីប ឬ markup ទេ។ កម្មវិធីមិនអាចដាក់កូដផ្ទាល់ខ្លួន ឬរូបរាងផ្ទាល់ខ្លួនរបស់វាលើអេក្រង់របស់អ្នករៀនបានទេ ដូច្នេះកាតនីមួយៗមើលទៅដូចផ្នែកផ្សេងទៀតរបស់ Lingara។ ការឆ្លើយតបរបស់អ្នកគឺជា JSON៖ card មួយដែលផ្ទុក elements របស់វា និងជាជម្រើស tutor_note មួយ (សូមមើល កំណត់ចំណាំសម្រាប់គ្រូ)។
ធាតុ
ធាតុនីមួយៗមាន type ដែលជាប្រភេទមួយក្នុងចំណោមប្រាំបីប្រភេទនេះ៖
| ធាតុ | វាល | អ្វីដែលវាបង្ហាញ |
|---|---|---|
heading | text, level | ចំណងជើង។ level គឺ 1 ឬ 2 ហើយតម្លៃផ្សេងទៀតក្លាយជា 2។ អត្ថបទរបស់វាមានយ៉ាងច្រើន 80 តួអក្សរ។ |
text | text, lang | កថាខណ្ឌមួយដែលមានយ៉ាងច្រើន 600 តួអក្សរ។ វាជាកន្លែងតែមួយគត់ដែលការចុះបន្ទាត់ត្រូវបានរក្សាទុក។ |
term | word, reading, gloss, lang | ពាក្យមួយសម្រាប់រៀន។ មានតែ word ប៉ុណ្ណោះដែលចាំបាច់។ ពាក្យមានយ៉ាងច្រើន 60 តួអក្សរ ការអាន 120 និងការពន្យល់ន័យ 160។ |
list | items | រហូតដល់ 20 ធាតុរង។ ធាតុរងនីមួយៗគឺជា text ឬ term ដែលមានវាលដូចគ្នានឹងធាតុដែលមានឈ្មោះនោះ។ |
progress | value, label | របារវឌ្ឍនភាព។ value ចាប់ពី 0 ដល់ 1 ហើយស្លាកមានយ៉ាងច្រើន 60 តួអក្សរ។ |
divider | បន្ទាត់មួយរវាងផ្នែកនានានៃកាត។ | |
button | label, action, style | ប៊ូតុងដែលផ្ញើ action របស់វាទៅម៉ាស៊ីនមេរបស់អ្នក។ style គឺ primary ឬ secondary ហើយស្លាកមានយ៉ាងច្រើន 32 តួអក្សរ។ |
link | label, url | តំណដែលអ្នករៀនបើកនៅក្នុងកម្មវិធីរុករករបស់ពួកគេ បន្ទាប់ពី Lingara សួរពួកគេ។ ស្លាកមានយ៉ាងច្រើន 60 តួអក្សរ។ |
lang គឺជាស្លាកភាសាដូចជា ja ដើម្បីឲ្យ Lingara គូរអក្សរបានត្រឹមត្រូវ។ តម្លៃដែលមិនមែនជាស្លាកភាសាត្រូវបានលុបចេញ។
ដែនកំណត់
- កាតមួយផ្ទុកធាតុបានយ៉ាងច្រើន 24។ ធាតុបន្ទាប់ពីធាតុទី 24 ត្រូវបានទម្លាក់ចោល។
- បញ្ជីមួយផ្ទុកធាតុរងបានយ៉ាងច្រើន 20។ ធាតុរងបន្ទាប់ពីធាតុរងទី 20 ត្រូវបានទម្លាក់ចោល ហើយបញ្ជីទទេក៏ត្រូវបានទម្លាក់ចោលដែរ។
- កាតមួយផ្ទុកប៊ូតុងបានយ៉ាងច្រើន 4។ ប៊ូតុងបន្ទាប់ពីប៊ូតុងទី 4 ត្រូវបានទម្លាក់ចោល។
- អត្ថបទដែលវែងជាងដែនកំណត់របស់វាត្រូវបានកាត់ឲ្យសម ហើយបញ្ចប់ដោយ
…។ តួអក្សរត្រូវបានរាប់ជា Unicode scalar value។ - តួអក្សរបញ្ជា និងតួអក្សរប្ដូរទិស (direction override) ត្រូវបានលុបចេញពីខ្សែអក្សរនីមួយៗ។
- តំណដែលអាសយដ្ឋានមិនមែនជា HTTPS មានឈ្មោះអ្នកប្រើ ឬចង្អុលទៅអាសយដ្ឋាន IP ត្រូវបានទម្លាក់ចោល។
- ប៊ូតុងដែល
actionវែងជាង 64 តួអក្សរ ឬប្រើអ្វីផ្សេងក្រៅពីអក្សរ លេខ_.:និង-ត្រូវបានទម្លាក់ចោល។ - ធាតុដែលគ្មានអត្ថបទនៅសល់បន្ទាប់ពីច្បាប់ទាំងនេះត្រូវបានទម្លាក់ចោល។
ច្បាប់ទាំងនេះមានភាពបត់បែន៖ Lingara កាត់ ឬទម្លាក់អ្វីដែលមិនសម ហើយគូរផ្នែកដែលនៅសល់។ កញ្ចប់ឧបករណ៍អនុវត្តច្បាប់ដូចគ្នាមុនពេលអ្នកឆ្លើយតប ដូច្នេះអ្នកអាចមើលឃើញថាអ្វីនឹងផ្លាស់ប្ដូរ។
ការញែកយ៉ាងតឹងរ៉ឹង
វាក្យសព្ទត្រូវបានបិទ។ ប្រភេទធាតុដែលមិនស្គាល់ វាលដែលធាតុមួយមិនមាន តម្លៃដែលមានប្រភេទ JSON ខុស ឬការឆ្លើយតបដែលមិនមែនជា JSON សោះ ធ្វើឲ្យការឆ្លើយតបទាំងមូលក្លាយជាកាតជំនួស។ Lingara មិនដែលគូរផ្នែកណាមួយនៃកាតដែលវាមិនអាចអានបានឡើយ។
ទំហំ និងពេលវេលា
ការឆ្លើយតបមួយអាចមានទំហំយ៉ាងច្រើន 32 KiB។ Lingara ផ្ដល់ពេលឲ្យម៉ាស៊ីនមេរបស់អ្នក 3 វិនាទី ដើម្បីឆ្លើយតបការ render និង 5 វិនាទី ដើម្បីឆ្លើយតបសកម្មភាព ហើយមិនព្យាយាមម្ដងទៀតសម្រាប់ទាំងពីរ។ ការឆ្លើយតបត្រូវតែមានស្ថានភាព 200 និងប្រភេទមាតិកា JSON។ ការបញ្ជូនបន្ត (redirect) មិនត្រូវបានធ្វើតាមទេ។
ប៊ូតុង និងសកម្មភាព
នៅពេលអ្នករៀនចុចប៊ូតុង Lingara ផ្ញើសំណើសកម្មភាពមួយទៅម៉ាស៊ីនមេរបស់អ្នក ដែលផ្ទុក action នៃប៊ូតុងនោះ។ ម៉ាស៊ីនមេរបស់អ្នកឆ្លើយតបដោយកាតថ្មីមួយ ដែលជំនួសកាតចាស់។ ការចុចដដែលអាចមកដល់ពីរដង ដូច្នេះត្រូវធ្វើឲ្យសកម្មភាពនីមួយៗមានសុវត្ថិភាពនៅពេលធ្វើម្ដងទៀត។
នៅពេលកាតបរាជ័យ
នៅពេល Lingara មិនអាចទទួលបានកាតដែលវាអាចគូរបាន អ្នករៀនឃើញកាត «កម្មវិធីនេះមិនបានឆ្លើយតប» ផ្ទាល់របស់ Lingara ជាភាសារបស់ពួកគេ ឬកាតល្អចុងក្រោយរបស់អ្នក ដែលត្រូវបានសម្គាល់ថា «មិនទាន់សម័យ»។ អ្នករៀនមិនដែលត្រូវបានប្រាប់ពីមូលហេតុទេ។ មានតែអ្នក ក្នុងនាមជាម្ចាស់កម្មវិធីប៉ុណ្ណោះ ដែលឃើញមូលហេតុ៖
- ការឆ្លើយតបរបស់អ្នក៖
invalid(មិនមែនជាកាតដែល Lingara អាចអានបាន)empty(គ្មានអ្វីនៅសល់សម្រាប់បង្ហាញបន្ទាប់ពីដែនកំណត់) ឬtoo_large(លើសពី 32 KiB)។ - ការទៅដល់ម៉ាស៊ីនមេរបស់អ្នក៖
timeouthttp_error(ស្ថានភាពណាមួយក្រៅពី 200)transport(ការបរាជ័យនៃការតភ្ជាប់ ឬ TLS ដូចជាវិញ្ញាបនបត្រផុតកំណត់) ឬblocked(render_urlដែលនាំទៅអាសយដ្ឋានឯកជន ឬអាសយដ្ឋាន IP ផ្ទាល់)។ - ផ្នែកខាង Lingara៖
unavailable(Lingara មិនអាចចុះហត្ថលេខាលើសំណើបាន) ឬbusy(មានសំណើកំពុងដំណើរការច្រើនពេករួចហើយ)។