In order to test JavaScript translations you have to change the GitLab
localization to other language than English and you have to generate JSON files
localization to another language than English and you have to generate JSON files
using `bin/rake gettext:po_to_json` or `bin/rake gettext:compile`.
### Vue files
In Vue files we make both the `__()` (double underscore parenthesis) function and the `s__()` (namespaced double underscore parenthesis) function available that you can import from the `~/locale` file. For instance:
```javascript
import{__,s__}from'~/locale';
constlabel=__('Subscribe');
constnameSpacedlabel=__('Plan|Subscribe');
```
For the static text strings we suggest two patterns for using these translations in Vue files:
- External constants file:
```javascript
javascripts
│
└───alert_settings
││constants.js
│└───components
││alert_settings_form.vue
// constants.js
import{s__}from'~/locale';
/* Integration constants */
exportconstI18N_ALERT_SETTINGS_FORM={
saveBtnLabel:__('Save changes'),
};
// alert_settings_form.vue
import{
I18N_ALERT_SETTINGS_FORM,
}from'../constants';
<script>
exportdefault{
i18n:{
I18N_ALERT_SETTINGS_FORM,
}
}
</script>
<template>
<gl-button
ref="submitBtn"
variant="success"
type="submit"
>
{{$options.i18n.I18N_ALERT_SETTINGS_FORM}}
</gl-button>
</template>
```
When possible, you should opt for this pattern, as this allows you to import these strings directly into your component specs for re-use during testing.