Module:User:Mr. Stradivarius/Latvian declension/doc
This is a documentation subpage for Module:User:Mr. Stradivarius/Latvian declension. It may contain usage information, categories and other content that is not part of the original module page. |
This module creates templates to help with Latvian declensions.
The data page
[edit]To use this module, you need to make a data sub-module for each template. This data module can have any name, but you should choose something meaningful. For example, to make a template for month declensions, you could make a new module at the page "Module:User:Mr. Stradivarius/Latvian declension/months".
Data modules should have the following format:
return {
["foo"] = {
n = "Foo1",
g = "Foo2",
d = "Foo3",
a = "Foo4",
i = "Foo5",
l = "Foo6",
},
["bar"] = {
n = "Bar1",
g = "Bar2",
d = "Bar3",
a = "Bar4",
i = "Bar5",
l = "Bar6",
},
-- Add more data here
}
Keys like "foo" and "bar" should be lower case. The "n", "g", "d", "a", "i" and "l" keys should also be lower case. Also, if you want to use numbers instead of the "foo" or "bar" keys, then they should be written without speech marks (like [7]
, not ["7"]
).
For our months data page, we might write the following:
return {
[1] = {
n = "Janvāris",
g = "Janvāra",
d = "Janvārim",
a = "Janvāri",
i = "ar Janvāri",
l = "Janvārī",
},
[2] = {
n = "Februāris",
g = "Februāra",
d = "Februārim",
a = "Februāri",
i = "ar Februāri",
l = "Februārī",
},
-- ...
}
The template
[edit]You can make any page into a template for use with this module. But it's probably best to choose a page in the template namespace that has a meaningful name. You should create your template with the following code:
{{#invoke:User:Mr. Stradivarius/Latvian declension|data module subpage name}}
For our months example, let's say we chose the template name "Template:Latvian month". We would create the template page with the following code:
{{#invoke:User:Mr. Stradivarius/Latvian declension|months}}
Note: you can't use the module directly from #invoke; it must be used from a template, otherwise the parameters will not be detected.
Using the template
[edit]The templates are used like this:
{{template name|word code|declension code}}
The word codes are the ones you defined in the data module, like "foo" and "bar". When using the template itself, these can be either upper case, lower case, or a mixture. The declension code can be any of "n", "g", "d", "a", "i" and "l" (and "ģ" is an alias for "g"). These can also be upper case. The module will look in the data submodule for a match for these two keys, and if it finds one, it will return it. If not, it will return the text "Invalid".
So for our months example, we would use the following syntax:
{{Latvian month|word code|declension code}}
Here are some examples of how it would work:
{{Latvian month|1|n}}
→ Janvāris{{Latvian month|1|Ģ}}
→ Janvāra{{Latvian month|2|I}}
→ ar Februāri