summaryrefslogtreecommitdiff
path: root/docs/language.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/language.txt')
-rw-r--r--docs/language.txt24
1 files changed, 24 insertions, 0 deletions
diff --git a/docs/language.txt b/docs/language.txt
new file mode 100644
index 00000000..9d6a0db3
--- /dev/null
+++ b/docs/language.txt
@@ -0,0 +1,24 @@
+language.txt
+
+The Language object handles all readable text produced by the
+software. The most used function is getMessage(), usually
+called with the wrapper function wfMsg() which calls that method
+on the global language object. It just returns a piece of text
+given a text key. It is recommended that you use each key only
+once--bits of text in different contexts that happen to be
+identical in English may not be in other languages, so it's
+better to add new keys than to reuse them a lot. Likewise,
+if there is text that gets combined with things like names and
+titles, it is better to put markers like "$1" inside a piece
+of text and use str_replace() than to compose such messages in
+code, because their order may change in other languages too.
+
+While the system is running, there will be one global language
+object, which will be a subtype of Language. The methods in
+these objects will return the native text requested if available,
+otherwise they fall back to sending English text (which is why
+the LanguageEn object has no code at all--it just inherits the
+English defaults of the Language base class).
+
+The names of the namespaces are also contained in the language
+object, though the numbers are fixed.