From 1f8bdba4cad71614eee7875bc593a1e25cf66363 Mon Sep 17 00:00:00 2001 From: Robert Prehn <3952444+prehnRA@users.noreply.github.com> Date: Thu, 6 May 2021 12:21:58 -0500 Subject: [PATCH] chore: Clarify guides --- apps/core/guides/features/i18n.md | 17 ++++++++++++++++- apps/core/guides/overview.md | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/apps/core/guides/features/i18n.md b/apps/core/guides/features/i18n.md index dbdb29b1..e4d7cc00 100644 --- a/apps/core/guides/features/i18n.md +++ b/apps/core/guides/features/i18n.md @@ -8,7 +8,7 @@ allows non-developers on a team to make copy changes. 2. When your application supports multiple languages, it is easy for translators to provide translations for all of your copy at once. -In Legendary, we provide a set of tools for doing this. +In Legendary, we provide a set of tools for doing this via [linguist](https://github.com/change/linguist). - (English) strings are stored in config/i18n/en.yml. - You can call `Legendary.I18n.t!/2` to get a string by its key. For example: `Legendary.I18n.t! "en", "site.title"` retrieves the english version of the @@ -20,5 +20,20 @@ string labeled "title" under the section "site" on en.yml. Note that the first argument is a two-letter language code. In order to support other languages, you can provide more yml files in config/i18n (example, config/i18n/fr.yml for French) and call t!/2 with that language code instead. +Linguist also supports templated translations. If you have a section in en.yml like this: + +```yaml +app: + hello_message: Hello, %{name}! +``` + +then you could call `t!` substitutions like this: + +```elixir +t! "en", "app.hello_message", name: "Legend" +``` + +to get the string "Hello, legend!" + **On the roadmap:** in the future, we intend to provide a mechanism for detecting and managing each visitor's language and providing those strings if available. diff --git a/apps/core/guides/overview.md b/apps/core/guides/overview.md index 30f64e32..2aa36949 100644 --- a/apps/core/guides/overview.md +++ b/apps/core/guides/overview.md @@ -27,7 +27,7 @@ Since Legendary is both a template and a framework, you can simply clone the rep to start using it. It's a fully functional Phoenix app as-is. To start a new project: ```sh -git clone git@gitlab.com:mythic-insight/legendary.git +git clone https://gitlab.com/mythic-insight/legendary.git ``` In order to start the server, run `script/server`. Any dependencies required