Start the session by sharing the session objectives with the students.
Initiate the session by discussing with the students that there are people with different types of disabilities such as visual and hearing disabilities. In addition, discuss with the students that the users around the globe may be accessing the applications differently. While some of them may access applications on their desktops, some might access applications on their mobile devices. Also discuss with the students that all the users around the globe have different languages. Therefore, the applications that are designed must be capable of fulfilling the requirements of this wide variety of users. Such applications are known as accessible applications and can be developed easily by using VC#. Also discuss with the students that there are several guidelines for designing these accessible application. Discuss all of these guidelines with the students.
Discuss all of the properties listed on this slide for designing accessible options.
Reiterate the concepts taught earlier by asking the given question.
Using this slide, discuss with the students that International applications provide the flexibility to be used across the globe. But in order to design these applications, it is essential to include information about the date and time formats and currency symbols. Discuss the following example with the students: a sales monitoring application designed for users in United States uses dollars as their currency. The same application when used by users in UK, would create problems as the users in UK will require all the currency to be converted into pounds. But by using international application, the same application can be used in the United States with dollar format and in UK with pound format. Therefore, the advantage of creating international applications using VC# is that the user is able to get customized applications.
Using this and the next slide, discuss the structure of the International applications. Discuss with the students that the application is divided into two blocks, code block and the data block. The code block contains all the code, while the data block contains locale specific information. For example, the application when used in United States will have its currency in dollar. Whereas when the same application is used in UK, it will have its currency format as pounds.
Using this slide discuss the process of internationalization with the students. Discuss all the three phases : Globalization Localizability Localization Explain this with the help of same sales monitoring application example. Explain to the students that globalization involves creating a general sales monitoring executable application which is not specific to any particular culture around the globe. Localizability involves testing this sales monitoring application to ensure that it does not require any culture specific data and it can work independently. Finally, to use the application for a specific culture such as in United States or UK, the sales monitoring application will have to be localized.
Using this slide, discuss all the issues relating to the internationalization of applications. Explain the language issues to the students by taking the same example as given in the SG. This explains about the Arabic language which is written from right-to-left and hence can create problems while being used in an application. The formatting issues can also be discussed with the help of an example. The example that can be used to explain formatting issue is that of the currency. The currency keeps varying for most of the countries. The string related issues can be discussed with the students as discussed in the SG. Explain to the students that because of difference in language and alphabet set, the appearance of the application may need to be taken care of. For example, “Hello” is an english word. The same word may be written in different languages differently. The user-interface issues have similar problems. The strings written in different language require space differently and may create problems in appearance.
Using this slide, discuss the factors to be considered while developing international application. The faculty must use the previous slide to categorize the issues. Working with multiple culture codes can lead to formatting issues Culture-specific formatting Character encoding can lead to language issues Handling right-to-left display can lead to language issues, formatting issues, and user-interface issues Validating non-Latin user input can lead to language issues as well as string related issues Using the culture-specific classes and methods can lead to language issues
Reiterate the concepts taught earlier by asking the given question.
The faculty must demonstrate the creation of such applications. In addition, using this slide you can discuss globalization with the students. You can take the same example from the SG which is as follows: Consider a form with a Label control named DateLabel, whose Text property is set as: DateLabel.Text = “5/23/1994”; In this case, the Text property of the DateLabel control is set to a constant value and therefore, will always be displayed, as is, whatever be the current culture-settings. Different cultures may use different formats for displaying dates. Therefore, you need to set the Text property of the DateLabel in such a way that allows the application to automatically display the date in a format corresponding to the current culture settings. You can set the Text property of the label by using the Format function, as shown in the following example: DateTime MyDateTime = DateTime.Parse(&quot;May 23, 1994&quot;); DateLabel.Text = (MyDateTime.ToString(“d”));
Using this and the next slide, the faculty must demonstrate how an application is localized and how resource files are created.
Explain the advantage of using resource assemblies. These are extremely helpful in large applications where a large number of resource files are created.
Reiterate the concepts taught earlier by asking the given question.
You can summarize the session by using the summary given in the slides. In addition, you can also ask students summarize what they have learnt in this session.
06 gui 08
GUI Applications Development Using .NET FrameworkObjectives In this session, you will learn to: Implement Accessibility features in a .NET application Identify features of international applications Implement Globalization and Localization in a .NET application Ver. 1.0 Session 8 Slide 1 of 18
GUI Applications Development Using .NET FrameworkDesign Guideline for Accessible Applications • Accessible applications are the applications that are developed keeping in mind the specific requirement of users with visual, mobility, and hearing disabilities. • The applications developed in VC# can be made accessible by setting certain properties of controls used in them. • These applications are created with various design guidelines. These guidelines are: Flexibility to accommodate a variety of user needs and preferences. Simple interface to enable all types of users to interact with the application. Compatibility with accessibility aids for users with sensory limitations. Multiple Input and Output techniques to benefit users with varying disabilities. Ver. 1.0 Session 8 Slide 2 of 18
GUI Applications Development Using .NET FrameworkStandard Accessibility Properties in VC# To make an application accessible, some properties need to be set for the various controls on a form. These are: AccessibleName AccessibleDescription AccessibleRole TabIndex Text Font Size Ver. 1.0 Session 8 Slide 3 of 18
GUI Applications Development Using .NET FrameworkJust a minute Which property is used to specify the use of an element in the user interface and reports it to the accessibility aids? 1. AccessibleDescription 2. AccessibleRole 3. AccessibleName Answer: 2. AccessibleRole Ver. 1.0 Session 8 Slide 4 of 18
GUI Applications Development Using .NET FrameworkIdentifying Features of International Applications • International applications are designed to be used across the world. • International applications should be customizable according to the preferences of the users across the world. • An application refers to a locale to identify users’ preferences. The locale includes information about formats used for representing time and date, symbols and conventions used for representing currency, and the character encoding scheme being used. Ver. 1.0 Session 8 Slide 5 of 18
GUI Applications Development Using .NET FrameworkIdentifying Features of International Applications (Contd.) The structure of an internationalized application is divided into two blocks: – Code block Contains the application – Data block code or the executable part of an application. This block will remain same for all locales. Ver. 1.0 Session 8 Slide 6 of 18
GUI Applications Development Using .NET FrameworkIdentifying Features of International Applications (Contd.) The structure of an internationalized application is divided into two blocks: – Code block – Data block Contains all the resources, such as text and images, used by the user interface (UI). This block is locale-specific, and each locale will have one data block. Ver. 1.0 Session 8 Slide 7 of 18
GUI Applications Development Using .NET FrameworkIdentifying Features of International Applications (Contd.) The process of making an application ready for international customers is called internationalization. This process includes three phases as shown in the following figure. Involves writing the Involves testing an Involves the executable code for an application, which has customization of an application in such a been globalized to ensure application for a way that makes it that its executable code is specific locale. culture-neutral and independent of the culture language-neutral. and language specific data. Ver. 1.0 Session 8 Slide 8 of 18
GUI Applications Development Using .NET FrameworkFactors Related to Creating International Applications The issues related to internationalization of applications are: Language issues Formatting issues String-related issues User-interface issues Ver. 1.0 Session 8 Slide 9 of 18
GUI Applications Development Using .NET FrameworkCreating International Applications To create international applications, implement the following: Work with multiple culture codes Culture-specific formatting Character encoding Right-to-left display Validate non-Latin user input Culture-specific classes and methods Ver. 1.0 Session 8 Slide 10 of 18
GUI Applications Development Using .NET FrameworkJust a minute • Which property of the CultureInfo class will return an instance of the CultureInfo class that represents the culture for culture-specific resources? Answer: CurrentUICulture Ver. 1.0 Session 8 Slide 11 of 18
GUI Applications Development Using .NET FrameworkGlobalizing Windows Forms Globalization is the process of identifying all localizable resources in the application and separating them from the executable code so that the localizable resources can be modified easily. Let us understand how we can create such applications. Ver. 1.0 Session 8 Slide 12 of 18
GUI Applications Development Using .NET FrameworkLocalizing Windows Forms Localization is the process of customizing an application for a given culture. Localization consists primarily of translating the user interface. A form can be localized by setting its Localizable property to True. Let us understand how can we create such applications. Ver. 1.0 Session 8 Slide 13 of 18
GUI Applications Development Using .NET FrameworkApplication Resources A resource is any non-executable data that is logically deployed with the application. Packaging the localizable data in a resource file allows to change the data without recompiling the entire application. Information is stored in a resource file in the Key/Value format. Consider the following code snippet: Key WelcomeText = “Welcome to VC#” Value Ver. 1.0 Session 8 Slide 14 of 18
GUI Applications Development Using .NET FrameworkResource Assemblies Resource assemblies are assemblies that contain only resources. Advantage of resource assemblies: The assembly can be updated as and when required without having to recompile the application. Satellite assemblies are resource assemblies that include separate resources for different cultures. Ver. 1.0 Session 8 Slide 15 of 18
GUI Applications Development Using .NET FrameworkJust a minute Which command prompt utility is used to convert a resource file from the text format into the binary format? Answer: Resource File Generator (ResGen.exe) Utility Ver. 1.0 Session 8 Slide 16 of 18
GUI Applications Development Using .NET FrameworkSummary In this session, you learned that: Applications need to be made accessible so that they can be used by a wide range of audience, including those with special needs. You need to follow a set of guidelines for developing accessible applications. The .NET Framework provides support for the development of world-ready applications. It helps you create applications that adapt to various languages, currency formats, date/time formats, and other culture-specific information. When developing a world-ready application, the process should be divided into three phases: globalization, localizability, and localization. While globalizing an application, you should strive to code the application in such a way that allows it to work equally well for all cultures your application supports. Ver. 1.0 Session 8 Slide 17 of 18
GUI Applications Development Using .NET FrameworkSummary (Contd.) During the localizability phase, you test whether the applications executable code has been properly separated from its resources. During localization an application is customized for specific cultures or regions. A resource is any non-executable data that is logically deployed with an application. Ver. 1.0 Session 8 Slide 18 of 18