* remove unnecessary web context data fields, and unify the i18n/translation related functions to `Locale`
* in development, show an error if a translation key is missing
* remove the unnecessary loops `for _, lang := range translation.AllLangs()` for every request, which improves the performance slightly
* use `ctx.Locale.Language()` instead of `ctx.Data["Lang"].(string)`
* add more comments about how the Locale/LangType fields are used
<th class="text grey right age">{{if.LatestCommit}}{{if.LatestCommit.Committer}}{{TimeSince.LatestCommit.Committer.When$.Lang}}{{end}}{{end}}</th>
<th class="text grey right age">{{if.LatestCommit}}{{if.LatestCommit.Committer}}{{TimeSince.LatestCommit.Committer.When$.i18n.Lang}}{{end}}{{end}}</th>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
@ -87,7 +87,7 @@
{{end}}
{{end}}
</span>
</span>
</td>
</td>
<td class="text right age three wide">{{if$commit}}{{TimeSince$commit.Committer.When$.Lang}}{{end}}</td>
<td class="text right age three wide">{{if$commit}}{{TimeSince$commit.Committer.When$.i18n.Lang}}{{end}}</td>