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.editUser
pageEventLogs.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'), })