* Simplify test
I came across this test because it was failing JRuby CI runs. I should
emphasize, though, that this test was only failing due do an upstream
bug in Nokogiri v1.12.5.
When I was reviewing the test, to understand why it was failing at all,
I noticed that the assertion was rather obfuscated. Specifically, we
were post-processing the entire `response.body` and using that as an
expectation.
* Use an older version of Nokogiri in our test env
This is a temporary fix. See the commit diff for more information.
* Split JRuby CI runs from MRI CI runs
We can improve the performance of our MRI test runs by not installing
Java as part of their run. (Java is only required for JRuby.)
* Use latest Ruby patch versions during CI runs
* Simplify GitHub Action workflow steps
Judging by the output in the GitHub Actions workflow UI, the `echo`
steps were not providing much value to us.
We can get rid of them to slightly increase run performance.
I've also named the other steps to make it easier to skim the Actions
workflow output.
* Remove `twitter_cldr` development dependency
This is no longer being used.
* Change GitHub Actions workflow Ruby matrix
We can drop Ruby 2.4 from our test run matrix. It is beyond EOL.
Let's add 2.7 instead.
* Add `i18n` dependency
We will use `i18n` to provide localization for Gollum's frontend. I
chose this because it's a well-supported, pretty normal Ruby library.
* Configure I18n
- Locale files will be kept in `lib/gollum/locales/[lang].yml`
- The available locales, to start, will be English (`en`).
* Add I18n interface for mustache templates
This commit adds an interface that allows mustache templates to get I18n
translation strings, transform any arguments that may be present in
them, and then render them on the frontend.
This is our first real step to getting internationalizing the Gollum
frontend.