Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(feat) Add support for setting default language via html lang attribute #695

Merged
merged 2 commits into from
Jun 12, 2023

Conversation

ibacher
Copy link
Member

@ibacher ibacher commented Jun 9, 2023

Requirements

  • This PR has a title that briefly describes the work done including the ticket number. If there is a ticket, make sure your PR title includes a conventional commit label. See existing PR titles for inspiration.

For changes to apps

If applicable

  • My work includes tests or is validated by existing tests.
  • I have updated the esm-framework mock to reflect any API changes I have made.

Summary

Adds support for configuring a default language via the build config or command line arguments.

While this is technically duplicative of the default_locale system setting from the backend, we have good reason to ensure that some kind of default language is set in the frontend in case the backend is, for whatever reason unavailable.

@vasharma05 To support Mekom's use-case, once merged, I'll add an overridable environment variable to the O3 RefApp so that this can be set on a per-instance basis.

Screenshots

Related Issue

https://issues.openmrs.org/browse/O3-2155

Other

@github-actions
Copy link
Contributor

github-actions bot commented Jun 9, 2023

Size Change: +127 B (0%)

Total Size: 2.13 MB

ℹ️ View Unchanged
Filename Size Change
packages/apps/esm-devtools-app/dist/68.js 4.23 kB 0 B
packages/apps/esm-devtools-app/dist/735.js 2.63 kB 0 B
packages/apps/esm-devtools-app/dist/889.js 111 kB 0 B
packages/apps/esm-devtools-app/dist/988.js 366 B 0 B
packages/apps/esm-devtools-app/dist/main.js 2.87 kB 0 B
packages/apps/esm-devtools-app/dist/openmrs-esm-devtools-app.js 3.04 kB 0 B
packages/apps/esm-implementer-tools-app/dist/102.js 2.76 kB 0 B
packages/apps/esm-implementer-tools-app/dist/139.js 11.7 kB 0 B
packages/apps/esm-implementer-tools-app/dist/242.js 6.72 kB 0 B
packages/apps/esm-implementer-tools-app/dist/246.js 447 B 0 B
packages/apps/esm-implementer-tools-app/dist/305.js 5.07 kB 0 B
packages/apps/esm-implementer-tools-app/dist/319.js 458 B 0 B
packages/apps/esm-implementer-tools-app/dist/369.js 2.63 kB 0 B
packages/apps/esm-implementer-tools-app/dist/426.js 1.66 kB 0 B
packages/apps/esm-implementer-tools-app/dist/466.js 5.82 kB 0 B
packages/apps/esm-implementer-tools-app/dist/574.js 425 B 0 B
packages/apps/esm-implementer-tools-app/dist/587.js 4.03 kB 0 B
packages/apps/esm-implementer-tools-app/dist/600.js 61.8 kB 0 B
packages/apps/esm-implementer-tools-app/dist/620.js 126 kB 0 B
packages/apps/esm-implementer-tools-app/dist/696.js 29.3 kB 0 B
packages/apps/esm-implementer-tools-app/dist/735.js 2.63 kB 0 B
packages/apps/esm-implementer-tools-app/dist/788.js 42.9 kB 0 B
packages/apps/esm-implementer-tools-app/dist/807.js 1.47 kB 0 B
packages/apps/esm-implementer-tools-app/dist/833.js 546 B 0 B
packages/apps/esm-implementer-tools-app/dist/889.js 111 kB 0 B
packages/apps/esm-implementer-tools-app/dist/895.js 2.29 kB 0 B
packages/apps/esm-implementer-tools-app/dist/main.js 3.94 kB 0 B
packages/apps/esm-implementer-tools-app/dist/openmrs-esm-implementer-tools-app.js 3.27 kB 0 B
packages/apps/esm-login-app/dist/236.js 272 B 0 B
packages/apps/esm-login-app/dist/240.js 364 B 0 B
packages/apps/esm-login-app/dist/261.js 6.25 kB 0 B
packages/apps/esm-login-app/dist/263.js 6.66 kB 0 B
packages/apps/esm-login-app/dist/272.js 264 B 0 B
packages/apps/esm-login-app/dist/319.js 360 B 0 B
packages/apps/esm-login-app/dist/336.js 234 B 0 B
packages/apps/esm-login-app/dist/337.js 1.63 kB 0 B
packages/apps/esm-login-app/dist/390.js 603 B 0 B
packages/apps/esm-login-app/dist/438.js 6 kB 0 B
packages/apps/esm-login-app/dist/539.js 298 B 0 B
packages/apps/esm-login-app/dist/574.js 428 B 0 B
packages/apps/esm-login-app/dist/610.js 5.8 kB 0 B
packages/apps/esm-login-app/dist/611.js 726 B 0 B
packages/apps/esm-login-app/dist/63.js 16.5 kB 0 B
packages/apps/esm-login-app/dist/642.js 10.7 kB 0 B
packages/apps/esm-login-app/dist/644.js 305 B 0 B
packages/apps/esm-login-app/dist/673.js 284 B 0 B
packages/apps/esm-login-app/dist/735.js 2.63 kB 0 B
packages/apps/esm-login-app/dist/737.js 24.9 kB 0 B
packages/apps/esm-login-app/dist/757.js 603 B 0 B
packages/apps/esm-login-app/dist/788.js 42.9 kB 0 B
packages/apps/esm-login-app/dist/829.js 10 kB 0 B
packages/apps/esm-login-app/dist/833.js 606 B 0 B
packages/apps/esm-login-app/dist/889.js 111 kB 0 B
packages/apps/esm-login-app/dist/main.js 3.31 kB 0 B
packages/apps/esm-login-app/dist/openmrs-esm-login-app.js 3.18 kB 0 B
packages/apps/esm-offline-tools-app/dist/206.js 7.28 kB 0 B
packages/apps/esm-offline-tools-app/dist/263.js 6.67 kB 0 B
packages/apps/esm-offline-tools-app/dist/264.js 9.51 kB 0 B
packages/apps/esm-offline-tools-app/dist/281.js 12.3 kB 0 B
packages/apps/esm-offline-tools-app/dist/290.js 438 B 0 B
packages/apps/esm-offline-tools-app/dist/316.js 2.06 kB 0 B
packages/apps/esm-offline-tools-app/dist/391.js 305 B 0 B
packages/apps/esm-offline-tools-app/dist/412.js 1.58 kB 0 B
packages/apps/esm-offline-tools-app/dist/47.js 6.31 kB 0 B
packages/apps/esm-offline-tools-app/dist/501.js 23.2 kB 0 B
packages/apps/esm-offline-tools-app/dist/526.js 15.4 kB 0 B
packages/apps/esm-offline-tools-app/dist/538.js 6.75 kB 0 B
packages/apps/esm-offline-tools-app/dist/541.js 384 B 0 B
packages/apps/esm-offline-tools-app/dist/574.js 1.04 kB 0 B
packages/apps/esm-offline-tools-app/dist/594.js 11.2 kB 0 B
packages/apps/esm-offline-tools-app/dist/63.js 16.5 kB 0 B
packages/apps/esm-offline-tools-app/dist/697.js 5.47 kB 0 B
packages/apps/esm-offline-tools-app/dist/733.js 290 B 0 B
packages/apps/esm-offline-tools-app/dist/735.js 2.63 kB 0 B
packages/apps/esm-offline-tools-app/dist/752.js 2.83 kB 0 B
packages/apps/esm-offline-tools-app/dist/757.js 1.15 kB 0 B
packages/apps/esm-offline-tools-app/dist/78.js 6.13 kB 0 B
packages/apps/esm-offline-tools-app/dist/788.js 42.9 kB 0 B
packages/apps/esm-offline-tools-app/dist/82.js 51.7 kB 0 B
packages/apps/esm-offline-tools-app/dist/833.js 1.16 kB 0 B
packages/apps/esm-offline-tools-app/dist/889.js 111 kB 0 B
packages/apps/esm-offline-tools-app/dist/937.js 6.46 kB 0 B
packages/apps/esm-offline-tools-app/dist/967.js 492 B 0 B
packages/apps/esm-offline-tools-app/dist/main.js 58 kB 0 B
packages/apps/esm-offline-tools-app/dist/openmrs-esm-offline-tools-app.js 3.26 kB 0 B
packages/apps/esm-primary-navigation-app/dist/113.js 11.6 kB 0 B
packages/apps/esm-primary-navigation-app/dist/216.js 549 B 0 B
packages/apps/esm-primary-navigation-app/dist/241.js 13.8 kB 0 B
packages/apps/esm-primary-navigation-app/dist/242.js 6.72 kB 0 B
packages/apps/esm-primary-navigation-app/dist/363.js 3.01 kB 0 B
packages/apps/esm-primary-navigation-app/dist/406.js 9.38 kB 0 B
packages/apps/esm-primary-navigation-app/dist/414.js 467 B 0 B
packages/apps/esm-primary-navigation-app/dist/574.js 183 B 0 B
packages/apps/esm-primary-navigation-app/dist/631.js 1.07 kB 0 B
packages/apps/esm-primary-navigation-app/dist/710.js 6.28 kB 0 B
packages/apps/esm-primary-navigation-app/dist/716.js 6.08 kB 0 B
packages/apps/esm-primary-navigation-app/dist/735.js 2.64 kB 0 B
packages/apps/esm-primary-navigation-app/dist/743.js 7.05 kB 0 B
packages/apps/esm-primary-navigation-app/dist/757.js 209 B 0 B
packages/apps/esm-primary-navigation-app/dist/788.js 42.9 kB 0 B
packages/apps/esm-primary-navigation-app/dist/833.js 210 B 0 B
packages/apps/esm-primary-navigation-app/dist/889.js 111 kB 0 B
packages/apps/esm-primary-navigation-app/dist/main.js 9.4 kB 0 B
packages/apps/esm-primary-navigation-app/dist/openmrs-esm-primary-navigation-app.js 3.28 kB 0 B
packages/framework/esm-api/dist/openmrs-esm-api.js 10.1 kB 0 B
packages/framework/esm-breadcrumbs/dist/openmrs-esm-breadcrumbs.js 3.24 kB 0 B
packages/framework/esm-config/dist/openmrs-esm-module-config.js 7.87 kB 0 B
packages/framework/esm-dynamic-loading/dist/openmrs-esm-dynamic-loading.js 1.86 kB 0 B
packages/framework/esm-error-handling/dist/openmrs-esm-error-handling.js 1.49 kB 0 B
packages/framework/esm-extensions/dist/openmrs-esm-extensions.js 8.46 kB 0 B
packages/framework/esm-framework/dist/openmrs-esm-framework.js 238 kB 0 B
packages/framework/esm-globals/dist/openmrs-esm-globals.js 1.59 kB 0 B
packages/framework/esm-offline/dist/openmrs-esm-offline.js 35 kB 0 B
packages/framework/esm-react-utils/dist/openmrs-esm-react-utils.js 18.1 kB 0 B
packages/framework/esm-state/dist/openmrs-esm-state.js 1.53 kB 0 B
packages/framework/esm-styleguide/dist/openmrs-esm-styleguide.js 19 kB 0 B
packages/framework/esm-utils/dist/openmrs-esm-utils.js 10.8 kB 0 B
packages/shell/esm-app-shell/dist/f70539ba876456b6.js 1.58 kB 0 B
packages/shell/esm-app-shell/dist/openmrs.aefd80ca4ade2b03.js 228 kB 0 B
packages/shell/esm-app-shell/dist/service-worker.js 57.4 kB +2 B (0%)
packages/tooling/openmrs/dist/cli.js 3 kB +79 B (+3%)
packages/tooling/openmrs/dist/commands/assemble.js 2.48 kB 0 B
packages/tooling/openmrs/dist/commands/build.js 1.43 kB +22 B (+2%)
packages/tooling/openmrs/dist/commands/debug.js 539 B 0 B
packages/tooling/openmrs/dist/commands/develop.js 1.66 kB 0 B
packages/tooling/openmrs/dist/commands/index.js 360 B 0 B
packages/tooling/openmrs/dist/commands/start.js 848 B 0 B
packages/tooling/openmrs/dist/index.js 445 B 0 B
packages/tooling/openmrs/dist/runner.js 799 B 0 B
packages/tooling/openmrs/dist/utils/config.js 689 B +24 B (+4%)
packages/tooling/openmrs/dist/utils/debugger.js 529 B 0 B
packages/tooling/openmrs/dist/utils/dependencies.js 403 B 0 B
packages/tooling/openmrs/dist/utils/helpers.js 393 B 0 B
packages/tooling/openmrs/dist/utils/importmap.js 2.79 kB 0 B
packages/tooling/openmrs/dist/utils/index.js 370 B 0 B
packages/tooling/openmrs/dist/utils/logger.js 234 B 0 B
packages/tooling/openmrs/dist/utils/npmConfig.js 854 B 0 B
packages/tooling/openmrs/dist/utils/untar.js 648 B 0 B
packages/tooling/openmrs/dist/utils/variables.js 192 B 0 B
packages/tooling/openmrs/dist/utils/webpack.js 276 B 0 B
packages/tooling/webpack-config/dist/index.js 3.04 kB 0 B
packages/tooling/webpack-config/dist/optimize.js 1.79 kB 0 B

compressed-size-action

Copy link
Member

@vasharma05 vasharma05 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we change default-language with default-locale to match with the global setting default-locale?

Thanks for working on this @ibacher ! Really grateful 🙏

@ibacher
Copy link
Member Author

ibacher commented Jun 12, 2023

@vasharma05 Good call!

@@ -87,6 +89,7 @@ export async function runBuild(args: BuildArgs) {
env: "production",
apiUrl: buildConfig.apiUrl || args.apiUrl,
configUrls: configUrls,
defaultLocale: args.defaultLocale || buildConfig.defaultLocale,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: we should update the other properties to follow this pattern, i.e., explicitly CLI args should always override the configuration file.

Copy link
Member

@denniskigen denniskigen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ibacher ibacher merged commit 69ea2df into main Jun 12, 2023
6 checks passed
@ibacher ibacher deleted the feat/add-support-for-default-language branch June 12, 2023 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants