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]