លោក Les រូបថតអេក្រង់ គឺជាធាតុសំខាន់នៃការបង្ហាញកម្មវិធីនៅលើហាងទូរស័ព្ទ។
ពួកវាមានឥទ្ធិពលដោយផ្ទាល់ទៅលើ ការបម្លែងនេះ ភាពជឿជាក់ និង គុណភាពយល់ឃើញ នៃផលិតផលរបស់អ្នក។
ដើម្បីធានាបាននូវការចែកចាយដោយរលូន និងអនុលោមភាព វាមានសារៈសំខាន់ណាស់ក្នុងការអនុម័ត ក រចនាសម្ព័ន្ធដើមឈើនៃ ទំហំស្របគ្នា។, និង ការចាប់យកដែលបានធ្វើមូលដ្ឋានីយកម្ម សម្រាប់ភាសានីមួយៗ។
រចនាសម្ព័ន្ធទូទៅ
ហាងនីមួយៗមានច្បាប់ផ្ទាល់ខ្លួន៖
- ឃ្លាំងកម្មវិធី (ប្រព័ន្ធប្រតិបត្តិការ Android) ៖ រូបថតអេក្រង់ដែលចាត់ថ្នាក់ដោយ ប្រភេទឧបករណ៍, ជាមួយខ្លះ ទំហំនិងដង់ស៊ីតេច្បាស់លាស់.
- App Store (iOS) ៖ ចាប់បានចាត់ថ្នាក់ដោយ ទម្រង់អេក្រង់ Appleបង្កើតឡើងតាមរយៈ ការក្លែងធ្វើ Xcode ផ្លូវការ
- ពហុភាសា → ភាសានីមួយៗមានថតឯកសារផ្ទាល់ខ្លួន (
fr-FR,en-US,es-ESល។ )
ឃ្លាំងកម្មវិធី (ប្រព័ន្ធប្រតិបត្តិការ Android)
រចនាសម្ព័ន្ធដើមឈើធម្មតា។
/android/
├── fr-FR/
│ └── images/
│ ├── FeatureGraphic.png
│ ├── phoneScreenshots/
│ │ ├── 01_home.png
│ │ ├── 02_features.png
│ │ └── ...
│ ├── sevenInchScreenshots/
│ │ ├── 01_home.png
│ │ └── ...
│ └── tenInchScreenshots/
│ ├── 01_home.png
│ └── ...
│
└── en-US/
└── images/
├── FeatureGraphic.png
├── phoneScreenshots/
├── sevenInchScreenshots/
└── tenInchScreenshots/
លក្ខណៈពិសេសក្រាហ្វិក
Le FeatureGraphic.png គឺ រូបភាពសំខាន់នៃ Play Store.
វាបង្ហាញនៅផ្នែកខាងលើនៃសន្លឹកផលិតផល និងនៅក្នុងតំបន់ផ្សព្វផ្សាយមួយចំនួននៃហាង។
| ធាតុ | ទំហំ (px) | ដង់ស៊ីតេ (dpi) |
| ក្រាហ្វិកលក្ខណៈពិសេស | 1024 × 500 | 160 |
វាជាញឹកញាប់ ការមើលឃើញដំបូងដែលឃើញដោយអ្នកប្រើប្រាស់ ៖ យកចិត្តទុកដាក់លើការរចនា ជៀសវាងអត្ថបទដែលតូចពេក និងរក្សាភាពស៊ីសង្វាក់គ្នានៃរូបភាពជាមួយរូបថតអេក្រង់របស់អ្នក។
ទំហំ និងដង់ស៊ីតេដែលបានណែនាំសម្រាប់រូបថតអេក្រង់ Android
| ប្រភេទ d’appareil | កំណត់ត្រា | ទំហំ (px) | ដង់ស៊ីតេ (dpi) | រូបថតអេក្រង់អតិបរមា |
| ទូរស័ព្ទ | រូបថតអេក្រង់ទូរស័ព្ទ/ | 1080 × 1920 | 420 | 8 |
| ថេប្លេត 7 អ៊ីញ | រូបថតអេក្រង់ប្រាំពីរអ៊ីញ / | 800 × 1280 | 213 | 8 |
| ថេប្លេត 10 អ៊ីញ | tenInch រូបថតអេក្រង់/ | 1600 × 2560 | 320 | 8 |
⚠️ ប្រសិនបើអ្នកថតលើសពី 8 ក្នុងមួយថត។ Google Play នឹងរារាំងការដាក់ឱ្យប្រើប្រាស់
ការដាក់ឈ្មោះឯកសារ
Play Store តម្រៀបឯកសារ តាមលំដាប់អក្ខរក្រម.
ដើម្បីគ្រប់គ្រងលំដាប់បង្ហាញ លេខឯកសារជាប្រព័ន្ធ
01_home.png
02_features.png
03_profile.png
04_settings.png បុព្វបទលេខ (01_, 02_ល។ ) គឺ ជាកាតព្វកិច្ច ដើម្បីធានាបាននូវលំដាប់ដែលមើលឃើញស្របគ្នា។
App Store (iOS)
រចនាសម្ព័ន្ធដើមឈើធម្មតា។
/ios/
├── fr-FR/
│ └── images/
│ ├── iPhone 6.7-inch_01.png
│ ├── iPhone 6.7-inch_02.png
│ ├── iPad Pro (12.9-inch) (3rd generation)_01.png
│ ├── iPad Pro (12.9-inch) (3rd generation)_02.png
│ └── ...
│
└── en-US/
└── images/
├── iPhone 6.7-inch_01.png
├── iPad Pro (12.9-inch) (3rd generation)_01.png
└── ...
ដែនកំណត់និងវិធីសាស្ត្របង្កើត
| ប្រភេទ d’appareil | វិធីសាស្រ្តដែលបានណែនាំ | ទំហំដើម | រូបថតអេក្រង់អតិបរមា |
| ទូរស័ព្ទ iPhone 6.7 អ៊ីញ | កម្មវិធីត្រាប់តាម Xcode ផ្លូវការ | បង្កើតដោយស្វ័យប្រវត្តិ | 10 |
| iPad Pro (12.9 អ៊ីញ) (ជំនាន់ទី 3) | កម្មវិធីត្រាប់តាម Xcode ផ្លូវការ | បង្កើតដោយស្វ័យប្រវត្តិ | 10 |
⚠️ហាមប្រើ មិនដែលផ្លាស់ប្តូរទំហំការចាប់យកដោយដៃទេ។ ៖ Apple ទាមទារឯកសារដែលបានបង្កើតពីម៉ាស៊ីនក្លែងធ្វើដែលត្រូវគ្នានឹងទំហំអេក្រង់។
ល្បិច
ទម្រង់ iPhone 6.7-inch et iPad Pro (12.9-inch) គ្របដណ្តប់ ឧបករណ៍ iOS ទំនើបស្ទើរតែទាំងអស់។.
ការដាក់ឈ្មោះឯកសារ
iPhone 6.7-inch_01.png
iPad Pro (12.9-inch) (3rd generation)_01.png ❗️គោរពយ៉ាងតឹងរឹងករណី ដកឃ្លា និងវង់ក្រចក។
រចនាសម្ព័ន្ធពហុភាសាពេញលេញ
/screenshots/
├── android/
│ ├── fr-FR/
│ ├── en-US/
│ └── es-ES/
└── ios/
├── fr-FR/
├── en-US/
└── es-ES/ សារៈសំខាន់នៃរូបថតអេក្រង់ដែលបានធ្វើមូលដ្ឋានីយកម្ម
ពិការភ្នែកបង្ហាញរូបភាពដោយស្វ័យប្រវត្តិយោងទៅតាម ភាសាអ្នកប្រើប្រាស់.
បង្កើតការចាប់យក បានធ្វើមូលដ្ឋានីយកម្មនិងបកប្រែ ធ្វើអោយប្រសើរឡើងនូវការយល់ដឹង និងការបំប្លែង។
ការធ្វើផែនទីតំបន់ (ភាសា និងថតឯកសារ)
Le ការធ្វើផែនទីក្នុងតំបន់ គឺជាប្លុកអគារដ៏សំខាន់ដែលធានាថា បង្កើតរូបថតអេក្រង់ដោយស្វ័យប្រវត្តិ ត្រូវនឹង ទម្រង់ភាសាដែលគាំទ្រយ៉ាងពិតប្រាកដ តាមហាងដែលអ្នកផ្សព្វផ្សាយ
ហេតុអ្វីបានជាការធ្វើផែនទីនេះគឺចាំបាច់
- វាអនុញ្ញាត បម្លែងមូលដ្ឋានគម្រោង (.arb) ខ Les ទម្រង់ផ្លូវការក្នុងស្រុក ប្រើដោយហាងនីមួយៗ (ឧ.
fr→fr-FR). - វាត្រូវបានប្រើក្នុងអំឡុងពេល ការបង្កើតថតអេក្រង់ដែលបានធ្វើមូលដ្ឋានីយកម្មដោយស្វ័យប្រវត្តិ សម្រាប់ឧបករណ៍ដូចជា ហ្វលលីន, ស៊ីអាយ / ស៊ីឌីឬស្គ្រីបខាងក្នុង។
- វាជៀសវាងកំហុសក្នុងការសាងសង់ និងដាក់ពង្រាយ ដោយសារភាសាដែលមិនគាំទ្រនៅលើវេទិកាគោលដៅ។
- ⚠️បញ្ជីភាសាដែលគាំទ្រ ខុសគ្នារវាង Play Store និង App Store.
- ឧទាហរណ៍:
- Google Play ទទួលយក
es-419(អាមេរិកឡាទីនអេស្ប៉ាញ) មិនគាំទ្រដោយ Apple. - App Store គាំទ្រ
fr-CA(កាណាដា បារាំង) មិនត្រូវបានទទួលស្គាល់ដោយផ្ទាល់ដោយ Google Play.
- Google Play ទទួលយក
- ឧទាហរណ៍:
ការគូសផែនទីនេះធានាថាអ្នកបង្កើតតែឯកសារភាសាដែលត្រូវគ្នាជាមួយប៉ុណ្ណោះ។ ហាងគោលដៅ.
កូដប្រភពពេញលេញនៃការគូសផែនទីមូលដ្ឋាន
/// Bibliothèque partagée pour mapper les locales du projet aux formats
/// attendus par le Google Play Store et l'App Store Connect.
/// C'est la source de vérité unique pour la logique de mappage.
// ===========================================================================
// LOGIQUE POUR APP STORE CONNECT (IOS)
// ===========================================================================
const Map<String, String> _appleLocaleMapping = {
'en': 'en-US', 'en-GB': 'en-GB', 'en-CA': 'en-CA', 'fr': 'fr-FR', 'fr-CA': 'fr-CA',
'es': 'es-ES', 'es-MX': 'es-MX', 'de': 'de-DE', 'it': 'it',
'pt': 'pt-PT', 'pt-BR': 'pt-BR', 'zh': 'zh-Hans', 'zh-CN': 'zh-Hans', 'zh-HK': 'zh-Hant',
'zh-TW': 'zh-Hant', 'ja': 'ja', 'ko': 'ko', 'ru': 'ru', 'ar': 'ar-SA',
'nl': 'nl-NL', 'sv': 'sv', 'fi': 'fi', 'da': 'da', 'no': 'no', 'tr': 'tr',
'pl': 'pl', 'id': 'id', 'th': 'th', 'vi': 'vi', 'he': 'he', 'ms': 'ms',
'ro': 'ro', 'cs': 'cs', 'sk': 'sk', 'hr': 'hr', 'uk': 'uk', 'hi': 'hi',
'el': 'el', 'ca': 'ca', 'et-EE': 'et', 'uk-UA': 'uk',
};
const Set<String> _appStoreSupportedLocales = {
'ar-SA', 'ca', 'cs', 'da', 'de-DE', 'el', 'en-AU', 'en-CA', 'en-GB', 'en-US',
'es-ES', 'es-MX', 'fi', 'fr-CA', 'fr-FR', 'he', 'hi', 'hr', 'hu', 'id', 'it',
'ja', 'ko', 'ms', 'nl-NL', 'no', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', 'sk',
'sv', 'th', 'tr', 'uk', 'vi', 'zh-Hans', 'zh-Hant', 'et'
};
String? toAppleLocale(String locale) {
if (_appleLocaleMapping.containsKey(locale)) {
final appleLocale = _appleLocaleMapping[locale]!;
return _appStoreSupportedLocales.contains(appleLocale) ? appleLocale : null;
}
if (_appStoreSupportedLocales.contains(locale)) return locale;
return null;
}
// ===========================================================================
// LOGIQUE POUR GOOGLE PLAY (ANDROID)
// ===========================================================================
const Map<String, String> _playLocaleMapping = {
'af': 'af', 'am': 'am', 'bg': 'bg', 'ca': 'ca','lv': 'lv',
'hr': 'hr', 'et': 'et', 'el': 'el-GR', 'lt': 'lt', 'ms': 'ms', 'ro': 'ro',
'sr': 'sr', 'sk': 'sk', 'sl': 'sl', 'sw': 'sw', 'fil': 'fil', 'cs': 'cs-CZ',
'th': 'th', 'uk': 'uk', 'vi': 'vi', 'zu': 'zu', 'gu': 'gu', 'kk': 'kk', 'pa': 'pa',
'sq': 'sq', 'ur': 'ur', 'ar': 'ar', 'id': 'id', 'in': 'id',
'fr': 'fr-FR', 'en': 'en-US', 'es': 'es-ES', 'pt': 'pt-BR', 'zh': 'zh-CN',
'sv': 'sv-SE', 'ta': 'ta-IN', 'te': 'te-IN', 'tr': 'tr-TR', 'de': 'de-DE',
'fi': 'fi-FI', 'hi': 'hi-IN', 'hu': 'hu-HU', 'is': 'is-IS', 'it': 'it-IT',
'ja': 'ja-JP', 'ko': 'ko-KR', 'nl': 'nl-NL', 'no': 'no-NO', 'pl': 'pl-PL',
'ru': 'ru-RU', 'da': 'da-DK', 'az': 'az-AZ', 'be': 'be', 'bn': 'bn-BD',
'eu': 'eu-ES', 'fa': 'fa-IR', 'gl': 'gl-ES', 'he': 'iw-IL', 'hy': 'hy-AM',
'ka': 'ka-GE', 'km': 'km-KH', 'kn': 'kn-IN', 'ky': 'ky-KG', 'lo': 'lo-LA',
'mk': 'mk-MK', 'ml': 'ml-in', 'mn': 'mn-MN', 'mr': 'mr-in', 'my': 'my-MM',
'ne': 'ne-NP', 'si': 'si-LK', 'en-US': 'en-US', 'en-GB': 'en-GB', 'zh-HK': 'zh-HK',
'zh-CN': 'zh-CN', 'zh-TW': 'zh-TW', 'es-419': 'es-419', 'es-ES': 'es-ES',
'fr-CA': 'fr-CA', 'fr-FR': 'fr-FR', 'pt-BR': 'pt-BR', 'pt-PT': 'pt-PT',
};
const Set<String> _playSupportedLocales = {
'be','ar','af','az','de','am','en-US','en-GB','bg','ca','zh-HK','zh-CN','zh-TW',
'ko','hr','da','es-419','es-ES','et','fi','fr-CA','fr-FR','el','si','hi','hu','id','in',
'is','it','ja','lv','lt','ms','nl','mk','my','ne','no','pl','pt-BR','pt-PT','ro','ru',
'sr','sk','sl','sv','sw','ka','km','kn','ky','lo','mn','mr','fil','cs','th','tr','uk',
'vi','zu','gu','kk','pa','sq','ta','te','ur','bn','eu','fa','gl','he','hy','ml'
};
String? toPlayLocale(String locale) {
final normalizedLocale = locale.replaceAll('_', '-');
if (_playLocaleMapping.containsKey(normalizedLocale)) {
return _playLocaleMapping[normalizedLocale];
}
if (_playSupportedLocales.contains(normalizedLocale)) {
return normalizedLocale;
}
return null;
} ការអនុវត្តល្អ
- រក្សាការធ្វើផែនទីតំបន់របស់អ្នកឱ្យទាន់សម័យ (
locale_mapping.dart) ដើម្បីបង្កើតរូបថតអេក្រង់តែជាភាសាដែលគាំទ្រដោយហាងនីមួយៗ។ - គោរពទម្រង់ឯកសារភាសា (
fr-FR,en-USល។ ) - លេខឯកសារ Android (
01_,02_ល។ ) - ប្រើម៉ាស៊ីនក្លែងធ្វើ Xcode ផ្លូវការ សម្រាប់ iOS ។
- នៅលើ iOS, កំណត់ខ្លួនអ្នកទៅ
iPhone 6.7-inchetiPad Pro (12.9-inch)ដើម្បីគ្របដណ្តប់ករណីភាគច្រើន។ - ថែរក្សាក្រាហ្វិកលក្ខណៈពិសេសរបស់អ្នក។ ៖ នេះជាញឹកញាប់ជាទិដ្ឋភាពដំបូងដែលអ្នកប្រើឃើញ។
- បង្កើតការចាប់យកដែលបានធ្វើមូលដ្ឋានីយកម្ម សម្រាប់ភាសានីមួយៗដែលគាំទ្រ។
- កុំលើសពីដែនកំណត់ :
- 8 រូបភាពអតិបរមា / ថតប្រព័ន្ធប្រតិបត្តិការ Android
- 10 រូបភាពអតិបរមា / ទម្រង់ iOS
- សាកល្បងការមើលឃើញរបស់អ្នកជានិច្ចនៅលើឧបករណ៍ដែលត្រូវគ្នា។ មុនពេលដាក់ពង្រាយ។



