-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding context article on testing localized apps
- Loading branch information
1 parent
e21288d
commit abdb915
Showing
3 changed files
with
64 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# Testing Localized Power Apps | ||
|
||
Localization is an important aspect of software development that ensures applications are accessible and user-friendly for people from different linguistic and cultural backgrounds. Despite its importance, localization is often seen as a challenging task and is sometimes deprioritized. This post explores the significance of localization, the common hurdles faced, and how to effectively test localized Power Apps. | ||
|
||
## The Importance of Localization | ||
|
||
Localization goes beyond mere translation. It involves adapting the content, layout, and functionality of an application to meet the cultural and linguistic needs of users in different regions. Proper localization can significantly enhance user experience, increase market reach, and improve customer satisfaction. | ||
|
||
## Challenges in Implementing Localization | ||
|
||
### Perception of Difficulty | ||
|
||
Many developers perceive localization as a complex and time-consuming process. This perception often leads to it being overlooked or considered a lower priority, despite the clear benefits it can offer. | ||
|
||
### Manual Testing and Support | ||
|
||
Manual testing and support for multiple languages can be seen as a major blocker to adopting localization. Ensuring that an application works seamlessly across different languages and cultural settings requires meticulous testing and ongoing support. | ||
|
||
## Automating Localization Testing in Power Apps | ||
|
||
{% include figure popup=true image_path="/context/media/test-engine-localized-app-testing.png" alt="Overview diagram of localization process to testing power app" %} | ||
|
||
### Sample Power App with Automated Tests | ||
|
||
As part of the technical learning track we have added a [Localization Module](../learning/11-localization.md). This module demonstrates with a sample Power App that includes automated tests for localization. Using this sample could help you also build automated tests can help streamline the process, reduce errors, and ensure consistent quality across different languages. | ||
|
||
### Cultural Settings and Power Fx / Playwright | ||
|
||
Given Test Engine builds on Power Fx and Playwright it allows us abstract the complexity if starting up and dealing with the differences between different localized versions of the application. | ||
|
||
### Using the Language() Function in Power Fx | ||
|
||
The `Language()` function in Power Fx is a powerful tool that supports the Test Engine in launching user profiles in different languages. This function allows developers to easily evaluate whether their app works as expected in various linguistic contexts. | ||
|
||
## Leveraging Localization Across the Organization | ||
|
||
### Reusing and Personalizing Solutions | ||
|
||
Localization efforts can be leveraged across the organization to create reusable and personalized solutions. By developing a centralized repository of localized resources and best practices, teams can save time and ensure consistency in their localization efforts. This approach also allows for the personalization of solutions to meet the specific needs of different user groups. | ||
|
||
## Additional Considerations | ||
|
||
### Continuous Integration and Deployment (CI/CD) | ||
|
||
Integrating localization testing into your CI/CD pipeline can help ensure that localization issues are caught early in the development process. This approach can save time and resources in the long run and give you a set of automated quality checks to validate that localization continues to be applied as expected as the solution evolves. | ||
|
||
### User Feedback and Iteration | ||
|
||
Collecting feedback from users in different regions can provide valuable insights into how well your localization efforts are working. Iterating based on this feedback can help you continuously improve the localized versions of your app. | ||
|
||
## Further Reading | ||
|
||
- [Learning Module - Power Apps Testing Localization](../learning/11-localization.md) | ||
- [Microsoft Dataverse language collation](https://learn.microsoft.com/power-platform/admin/language-collations) | ||
- [Regional and language options for your environment](https://learn.microsoft.com/power-platform/admin/enable-languages) | ||
- [Build a multi-language app](https://learn.microsoft.com/power-apps/maker/canvas-apps/multi-language-apps) | ||
- [Language()](https://learn.microsoft.com/power-platform/power-fx/reference/function-language) to determine current test language | ||
- [Playwright Locale](https://playwright.dev/docs/emulation#locale--timezone) Test Engine encapsulates the playwright locale settings for different user locale | ||
|
||
## Summary | ||
|
||
Localization is an essential component of creating inclusive and user-friendly applications. While it presents certain challenges, such as the perception of difficulty and the need for extensive manual testing, these can be mitigated through automated testing and a strategic approach to localization. By leveraging features of Test Engine and the frameworks like Power Fx and the `Language()` function, makers and developers can create robust, localized Power Apps that meet the needs of users worldwide. Additionally, organizations can benefit from reusing and personalizing localization solutions, integrating localization into CI/CD pipelines, and continuously iterating based on user feedback. |