diff --git a/jwmappbuilder.v b/jwmappbuilder.v
index 6ae829f..0dbf430 100644
--- a/jwmappbuilder.v
+++ b/jwmappbuilder.v
@@ -1,24 +1,31 @@
import os
+import khalyomede.i18n { Translations }
fn main() {
+ textbundle := Translations{
+ default_lang: "en_US",
+ translations: {
+ "helptext": {
+ "en_US": "\nUsage:\n :cmd [-h] [-t] [-i] [-a]\n\nGenerates Applications menu for Joe's Window Manager.\n\nUsage in .jwmrc:\n\n\texec: :cmd \n\nOptions:\n -h, --help\tShow this text.\n -i, --icons\tAlso generate icons.\n -t, --tooltip\tAlso generate tooltips.\n -a, --all\tDo not generate categories: list all applications.\n\nv1.0"
+ }}}
+ lang := detectlang()
mut args := []bool{len: 3}
for mut arg in args {
arg = false
}
- for i := 0; i < os.args.len; i++ {
- if i == 0 {i++}
- match os.args[i] {
+ for arg in os.args {
+ match arg {
"-i", "--icons" { args[0] = true }
"-t", "--tooltip" { args[1] = true }
"-a", "--all" { args[2] = true }
"-h", "--help" {
- println("\nUsage:\n ${os.args[0]} [-htia]\n\nGenerates Applications menu for Joe's Window Manager.\n\nUsage in .jwmrc:\n\n\texec: ${os.args[0]}\n
- \nOptions:\n -h, --help\tShow this text.\n -i, --icons\tAlso generate icons.\n -t, --tooltip\tAlso generate tooltips.\n -a, --all\tDo not generate categories: list all applications.\n\nv1.0")
+ println(textbundle.get("helptext", { "cmd": os.args[0] }))
exit(0)
- }
- else {
- println("Unknown argument: ${os.args[i]}")
+ } else {
+ if arg == os.args[0] {} else {
+ println("Unknown argument: ${}")
exit(1)
+ }
}
}
}
@@ -169,3 +176,10 @@ fn optbuildtooltip(data []string, tooltip bool) string {
if !tooltip { return '' }
return ('tooltip="${strfinder(data, 4)}"')
}
+
+fn detectlang() string {
+ for item in (os.read_file('/etc/locale.conf') or { panic(err) }).split_into_lines() {
+ if item.contains('LANG=') { return item.substr(5, 10) }
+ }
+ return 'en_US'
+}