The OpenBMC Web UI implements internationalization and separates the language- specific parts of the interface from the rest of the code, so they can be easily replaced. The OpenBMC Web UI uses the following library for internationalization:
The OpenBMC Web UI follows the following key naming conventions:
page followed by the page title. Formatting in this manner provides a systematic structure and improves readability of the language file.pageLocalUserManagement.editUserpageEventLogs.table.eventType$t() function in markup and this.$t in scripts (which Vue I18n provides to our components) for outputting translation messages.src/i18n.js file is added and it registers Vue I18n as a plugin to our Vue instance via the Vue.use() function.src/locales/en.json file, which contains our default translation messages.src/locales/en.json file and then the $t() function is used to output the translation messages."pageDumps": { "dumpsAvailableOnBmc": "Dumps available on BMC" }
<page-section :section-title="$t('pageDumps.dumpsAvailableOnBmc')">
$tc() function can help with displaying plurals. Learn more about pluralization."modal": { "deleteDump": "Delete dump | Delete dumps" }
this.$bvModal .msgBoxConfirm(this.$tc('pageDumps.modal.deleteDumpConfirmation'), { title: this.$tc('pageDumps.modal.deleteDump'), okTitle: this.$tc('pageDumps.modal.deleteDump'), cancelTitle: this.$t('global.action.cancel'), })