diff --git a/README.md b/README.md
index 8f36ea2..3e18d80 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ A Clojure library designed to provide simple interationalisation of user-facing
To use this library in your project, add the following leiningen dependency:
- [org.clojars.simon_brooke/internationalisation "1.0.4"]
+ [org.clojars.simon_brooke/internationalisation "1.0.5"]
To use it in your namespace, require:
diff --git a/doc/intro.md b/doc/intro.md
index 309c761..3e18d80 100644
--- a/doc/intro.md
+++ b/doc/intro.md
@@ -6,7 +6,7 @@ A Clojure library designed to provide simple interationalisation of user-facing
To use this library in your project, add the following leiningen dependency:
- [org.clojars.simon_brooke/internationalisation "1.0.4"]
+ [org.clojars.simon_brooke/internationalisation "1.0.5"]
To use it in your namespace, require:
@@ -62,21 +62,21 @@ For example:
(get-message :pipe "de-DE" "i18n" "ru")
```
-So how does this work? When one calls `(get-message token accept-language-header)`, how does it know where to find resources? The answer is that there are two dynamic variables:
+So how does this work? When one calls
+`(get-message token accept-language-header)`, how does it know where to find resources? The answer is that there is a `*config*` map, with (currently) two significant keys:
-* `*resource-path*`, the default path within the resources space on which
- translation files will be sought. Initialised to `i18n`.
-* `*default-language*`, the language tag for the language to use when no
+* `:resource-path`, whose value should be a string representation of the default
+ path within the resources space on which translation files will be sought. Initialised to `i18n`.
+* `:default-language`, the language tag for the language to use when no
otherwise suitable language can be identified. Initialised to the default
language of the runtime session, so this may well be different on your
machine from someone elses running identical software.
Thus
```clojure
-(binding [*resource-path* "language-files"
- *default-language* "en-CA"]
- (get-message :pipe "en-GB;q=0.9, fr-FR")
-)
+(binding [*config* {:resource-path "language-files"
+ :default-language "en-CA"}]
+ (get-message :pipe "en-GB;q=0.9, fr-FR"))
```
and
```clojure
@@ -116,10 +116,27 @@ In this project you will find two very simple example files, which should give y
## Documentation
-Documentation may be generated by running
+Documentation can be found here. It may be generated by running
lein codox
+## Future direction
+
+It's likely that in future configuration will be extended
+
+1. To read per-language keys/messages from CSV files;
+2. To read per-language keys/messages from database tables;
+3. potentially, to read per-language keys/messages from other sources.
+
+Pull requests implementing any of these things will be welcomed.
+
+## Deprecated features
+
+There are still two dynamic configuration variables, `*default-language*`
+and `*resource-path*`, but these are now superceded by the `*config*` map,
+which is extensible. Consequently, if you are using these configuration
+variables in production, you should bind `*config*` to `nil`.
+
## License
Copyright © 2017 Simon Brooke
diff --git a/docs/cloverage/codecov.json b/docs/cloverage/codecov.json
index 08624a5..bf9bb45 100644
--- a/docs/cloverage/codecov.json
+++ b/docs/cloverage/codecov.json
@@ -2,17 +2,19 @@
{"scot/weft/i18n/core.clj":
[null, 1, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, 1,
- null, null, null, null, 1, null, 1, null, 1, null, null, null, null,
- null, null, null, null, null, null, null, null, 1, null, 1, null, 1,
- null, null, null, null, null, true, 119, null, true, 119, 6, 16, 16,
- 16, 8, null, 18, 18, null, 18, 18, 9, null, 19, 19, 15, 15, null,
- 15, 4, 20, 15, 15, 0, 0, null, 0, 15, 15, null, 10, null, 0, 0,
- null, null, 1, null, null, null, null, null, null, null, null, 6, 6,
- 5, 5, null, 5, 5, 1, null, null, 1, null, null, null, 13, 13, null,
- 7, null, null, null, 1, null, null, null, null, null, null, null,
- null, null, null, 13, 13, 8, 8, 8, 13, 13, 13, 2, 11, 5, 5, 5, 5, 3,
- 3, 3, null, null, 1, null, null, null, null, null, null, null, null,
- null, null, null, null, null, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3,
- 3, 3, null, 1, null, null, 1, null, null, null, null, null, null,
- null, null, null, 1, null, 1, null, null, null, null, null, null,
- null, null, null, 1, 3, null, 1, null, 1]}}
+ null, null, null, null, 1, null, 1, null, 1, null, 1, null, null, 1,
+ null, null, null, null, null, null, null, null, null, null, null,
+ null, 1, null, 1, null, 1, null, null, null, null, null, true, 159,
+ null, true, 159, 11, 22, 22, 22, 9, null, 24, 24, null, 24, 24, 10,
+ null, 25, 25, 20, 20, null, 20, 5, 26, 20, 20, 0, 0, null, 0, 20,
+ 20, null, 11, null, 0, 0, null, null, 1, null, null, null, null,
+ null, null, null, null, 10, 10, 10, 10, null, 10, 10, 0, null, null,
+ 1, null, null, null, 24, 24, null, 11, null, null, null, 1, null,
+ null, null, null, null, null, null, null, null, null, 25, 25, 15,
+ 15, 15, 25, 25, 25, 6, 19, 10, 10, 10, 10, 5, 5, 5, null, null, 1,
+ null, null, null, null, null, null, null, null, null, null, null,
+ null, null, 9, 9, 9, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, true, 7,
+ null, 0, 0, 0, null, null, 2, 2, null, null, 1, null, null, null,
+ null, null, null, null, null, null, 1, null, 1, null, null, null,
+ null, null, null, null, null, null, null, 1, 8, 8, null, 7, 7, 7, 7,
+ null, 5, 5]}}
diff --git a/docs/cloverage/coverage.xml b/docs/cloverage/coverage.xml
index 51eff4d..1412116 100644
--- a/docs/cloverage/coverage.xml
+++ b/docs/cloverage/coverage.xml
@@ -1 +1 @@
-