Introduction to Image Specifications for Branding your Ahsay Mobile
This section will discuss Ahsay Mobile customization which is primarily concerned with the look and feel of Ahsay Mobile barebones application.
Each screen of Ahsay Mobile and the list of customizable colors and icons per screen will be shown here so that the user can prepare the necessary files which will be needed to create their customized backup application.
File Customization
The primary file modifications for customization of the look and feel are the following:
- Application images – these are the images that are used for icons and other graphics within the various application screens.
- Application icon – this is the icon that is shown on the Home screen for both iOS and Android devices. Each OS will have different specifications for customization.
- Splash screen (iOS) – this is the starting screen shown when the application is opened when inactive.
- Colors dictionary (.json extension) – this shows four colors that can be modified for customization of font color, background color and other modifiable elements.
- Localization – Currently, Ahsay Mobile supports 31 languages customizable by the user for translation.
- Adverts – Ads can be customized by the user by preference and by language. More details will be explained on the Home page.
Colors
The colors for the Ahsay Mobile application are defined in the colors.json file. They are a major component in customization of Ahsay Mobile. The colors.json file has the syntax:
{
"primaryThemeColor":"#016A8C",
"primaryFontColor":"#FFFFFF",
"secondaryThemeColor":"#FFF",
"secondaryFontColor":"#000"
}
There are four colors that can be modified by the user with their own style. All colors must adhere to the hexadecimal format preceded with the # symbol and can only be six digits (#000000 - #FFFFFF) or three digits (#000 - #FFF). The color key on the JSON file must not be changed.
- Primary theme (JSON key: primaryThemeColor) – this is the primary color that will be changed for text customization and background color customization for Ahsay Mobile.
- Primary font (JSON key: primaryFontColor) – this is the primary font color mainly used when the primary theme color is used for the background in some screens.
- Secondary theme (JSON key: secondaryThemeColor) – this is the secondary color used on some screens where the primary theme color is used for text emphasis.
- Secondary font (JSON key: secondaryFontColor) – this is used in conjunction with the secondary theme color and as an alternate to the primary font color.
Examples:
Case A
In this example, the primaryThemeColor is used as a background and all the text uses the primaryFontColor.
Case B
In this example, the primaryThemeColor is used on the page header text and the background color of the Done button for this screen. The background color of the screen and color of the Done text uses the secondaryThemeColor. All other texts uses secondaryFontColor.
For more detailed descriptions on the colors of each screen element uses, please refer to the Application Pages section.
Localization
For further customization, the user can also modify all the wording for the application in two ways:
- Localization files within the application
- Localization files for app notifications (notifications.xml)
Languages
Ahsay Mobile can support customization for 31 languages. Each language corresponds to a locale code, which is useful for localization files submitted by the user for customization.
Language | Locale Code |
---|---|
Base (English) | en |
Arabic | ar |
Catalan | ca |
Czech | cs |
Danish | da |
German | de |
Greek | el |
Spanish | es |
Basque | eu |
Finnish | fi |
French | fr |
Hebrew | iw |
Hungarian | hu |
Indonesian | in |
Italian | it |
Japanese | ja |
Korean | ko |
Lithuanian | lt |
Dutch | nl |
Norwegian | no |
Polish | pl |
Portuguese - Brazil | pt-BR |
Portuguese - Portugal | pt-PT |
Russian | ru |
Slovenian | sl |
Swedish | sv |
Thai | th |
Turkish | tr |
Vietnamese | vi |
Chinese - Simplified | zh_CN |
Chinese - Traditional | zh_TW |
Common - Localization files within the application
A localization file is a JSON file containing a key used by Ahsay Mobile to fetch the corresponding localized value. Ahsay Mobile supports 31 languages therefore any user can supply up to 31 localization files to Ahsay for their customized backup solution. Each localization file has the filename: locale-code.json For customization, the user will only need to provide a localization file for each language. Refer to the table below for the corresponding localization file. As with customizing theme colors for the look and feel, the user cannot change the key of the JSON entry.
The user needs to customize 4 different areas for each language (App, Android, iOS and Advertisement). A sample of the language files are attached in AhsayMobileCustomization.zip and advertisement.zip.
Language | App (Localization File) | Android | iOS | Advertisement |
---|---|---|---|---|
Base (English) | /App/en.json | /Text/Android/values/* | /Text/iOS/en.lproj/* | ad-en.json |
Arabic | /App/ar.json | /Text/Android/values-ar/* | /Text/iOS/ar.lproj/* | ad-ar.json |
Catalan | /App/ca.json | /Text/Android/values-ca/* | /Text/iOS/ca.lproj/* | ad-ca.json |
Czech | /App/cs.json | /Text/Android/values-cs/* | /Text/iOS/cs.lproj/* | ad-cs.json |
Danish | /App/da.json | /Text/Android/values-da/* | /Text/iOS/da.lproj/* | ad-da.json |
German | /App/de.json | /Text/Android/values-de/* | /Text/iOS/de.lproj/* | ad-de.json |
Greek | /App/el.json | /Text/Android/values-el/* | /Text/iOS/el.lproj/* | ad-el.json |
Spanish | /App/es.json | /Text/Android/values-es/* | /Text/iOS/es.lproj/* | ad-es.json |
Basque | /App/eu.json | /Text/Android/values-eu/* | /Text/iOS/eu.lproj/* | ad-eu.json |
Finnish | /App/fi.json | /Text/Android/values-fi/* | /Text/iOS/fi.lproj/* | ad-fi.json |
French | /App/fr.json | /Text/Android/values-fr/* | /Text/iOS/fr.lproj/* | ad-fr.json |
Hebrew | /App/iw.json | /Text/Android/values-iw/* | /Text/iOS/he.lproj/* | ad-iw.json |
Hungarian | /App/hu.json | /Text/Android/values-hu/* | /Text/iOS/hu.lproj/* | ad-hu.json |
Indonesian | /App/in.json | /Text/Android/values-in/* | /Text/iOS/id.lproj/* | ad-in.json |
Italian | /App/it.json | /Text/Android/values-it/* | /Text/iOS/it.lproj/* | ad-it.json |
Japanese | /App/ja.json | /Text/Android/values-ja/* | /Text/iOS/ja.lproj/* | ad-ja.json |
Korean | /App/ko.json | /Text/Android/values-ko/* | /Text/iOS/ko-KR.lproj/* | ad-ko.json |
Lithuanian | /App/lt.json | /Text/Android/values-lt/* | /Text/iOS/lt.lproj/* | ad-lt.json |
Dutch | /App/nl.json | /Text/Android/values-nl/* | /Text/iOS/nl.lproj/* | ad-nl.json |
Norwegian | /App/no.json | /Text/Android/values-no/* | /Text/iOS/nb-NO.lproj/* | ad-no.json |
Polish | /App/pl.json | /Text/Android/values-pl/* | /Text/iOS/pl.lproj/* | ad-pl.json |
Portuguese - Brazil | /App/pt_BR.json | /Text/Android/values-pt-BR/* | /Text/iOS/pt-BR.lproj/* | ad-pt_BR.json |
Portuguese - Portugal | /App/pt_PT.json | /Text/Android/values-pt-PT/* | /Text/iOS/pt-PT.lproj/* | ad-pt_PT.json |
Russian | /App/ru.json | /Text/Android/values-ru/* | /Text/iOS/ru.lproj/* | ad-ru.json |
Slovenian | /App/sl.json | /Text/Android/values-sl/* | /Text/iOS/sl.lproj/* | ad-sl.json |
Swedish | /App/sv.json | /Text/Android/values-sv/* | /Text/iOS/sv.lproj/* | ad-sv.json |
Thai | /App/th.json | /Text/Android/values-th/* | /Text/iOS/th-TH.lproj/* | ad-th.json |
Turkish | /App/tr.json | /Text/Android/values-tr/* | /Text/iOS/tr.lproj/* | ad-tr.json |
Vietnamese | /App/vi.json | /Text/Android/values-vi/* | /Text/iOS/vi.lproj/* | ad-vi.json |
Chinese - Simplified | /App/zh_CN.json | /Text/Android/values-rCN/* | /Text/iOS/zh-Hans.lproj/* | ad-zh_CN.json |
Chinese - Traditional | /App/zh_TW.json | /Text/Android/values-zh-rTW/* | /Text/iOS/zh-Hant.lproj/* | ad-zh_TW.json |
Here is a sample JSON for English:
{
"appName":"Ahsay Mobile",
"appNameShort":"Ahsay Mobile",
"clientAppName":"Ahsay Mobile",
"home": "Home",
"myAccounts": "My Accounts",
"settings": "Settings",
"loginVerification": "Login Verification",
"language": "Language",
....
"noActivityInLogPage": "There is no activity to log yet",
"Photos":"Photos",
"Videos":"Videos",
"photosCompleted": "Photos Completed",
"videosCompleted": "Videos Completed",
"terminatedDueToNotCharging": "#{{fileIdx}} Terminated due to not charging",
"downloadServerDB": "Download server db",
"restoreStart": "Restore Start",
"allRestoreCompleted": "All Restore Completed",
"registered2FASuccessfully": "Registered 2FA Successfully",
"cause": "Cause"
}