groue/GRMustache.swift

Localization Customization

Open

#37 opened on Oct 25, 2016

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Swift (154 forks)github user discovery
enhancementhelp wanted

Repository metrics

Stars
 (629 stars)
PR merge metrics
 (PR metrics pending)

Description

The Localizer filter brings localization to your mustache templates:

let template = ...
template.register(StandardLibrary.Localizer(), forKey: "localize")

It can localize:

  • variables: {{ localize(greeting) }} renders the localization of the greeting variable
  • template snippets: {{# localize }}Hello{{/ localize }} renders the localization of "Hello"
  • embedded variables: {{# localize }}Hello {{name}}{{/ localize }} localizes "Hello %@", and uses the result at a format string in which in injects the rendering of the name variable

As it is today, Localizer uses NSLocalizedString. Two areas of improvements are:

  • Make Localizer extensible so that it can be fueled by another localization engine than NSLocalizedString
  • Make it use a custom locale

Contributor guide