puppet-lint-i18n plugin
Installation
To use this plugin, add the following like to the Gemfile in your Puppet code base and run bundle install
.
gem 'puppet-lint-i18n'
Usage
This plugin provides a new check to puppet-lint
. It will detect functions that do not have their output message wrapped in a translate call.
Functions detected
- warning
- fail
Before and after
For example the following puppet code does not wrap the message
warning('message')
wrapping the message then looks like
warning(translate('message'))
Example output
WARNING: 'warning' messages should be decorated: eg translate('old_root_password is no longer used and will be removed in a future release') on line 48
This tells you which file and what line the infringement occurred, as well as the suggested fix
Other Infringements
- Multiline strings
BAD
warning(translate('to be or') /
translate('not to be'))
GOOD
warning(translate('to be or not to be')
- Concatenated strings
- Heredoc strings
The :HEREDOC_OPEN token (@(EOL)
) should be the only part passed to the translate()
function. Do not pass the entire heredoc.
BAD
warning(translate(@(EOL)
This is a heredoc.
It's lovely.
| EOL))
GOOD
warning(translate(@(EOL))
This is a heredoc.
It's lovely.
| EOL)
- Interpolated strings
Interpolated strings are not supported at this time and will not be decorated with the fix option.
Fix issues automatically
--fix support: Yes
Disabling checks
Please refer to the documentation here [https://github.com/rodjek/puppet-lint#disable-lint-checks]