diff --git a/src/core/api.coffee b/src/core/api.coffee index fd59411..b1bfa2f 100644 --- a/src/core/api.coffee +++ b/src/core/api.coffee @@ -3,13 +3,12 @@ class FormatedString @values = [] return unless args @values[i] = args[i] for i in [0..args.length - 1] - toString: ()-> - @ + toString: () -> + @__() __: () -> me = @ - return __(@fs).replace /{(\d+)}/g, (match, number) -> + return @fs.l().replace /{(\d+)}/g, (match, number) -> return if typeof me.values[number] != 'undefined' then me.values[number] else match - hash: () -> @__().hash() @@ -25,7 +24,12 @@ class FormatedString format: () -> args = arguments @values[i] = args[i] for i in [0..args.length - 1] - + +Object.defineProperty Object.prototype, '__', + value: () -> + return @toString() + enumerable: false + writable: true String.prototype.hash = () -> hash = 5381 @@ -66,8 +70,12 @@ String.prototype.f = () -> String.prototype.__ = () -> match = @match(/^__\((.*)\)$/) - return window.__(match[1]) if match + return match[1].l() if match return @ +String.prototype.l = () -> + _API = window.OS.API + _API.lang[@] = @ unless _API.lang[@] + return _API.lang[@] # language directive this.__ = () -> @@ -75,9 +83,8 @@ this.__ = () -> args = arguments return "Undefined" unless args.length > 0 d = args[0] - _API.lang[d] = d unless _API.lang[d] - return _API.lang[d] unless args.length > 1 - return String.prototype.format.apply d, (args[i] for i in [1 .. args.length - 1]) + d.l() + return new FormatedString d, (args[i] for i in [1 .. args.length - 1]) Date.prototype.toString = () -> dd = @getDate() diff --git a/src/core/gui.coffee b/src/core/gui.coffee index f84a8eb..f58edfe 100644 --- a/src/core/gui.coffee +++ b/src/core/gui.coffee @@ -408,7 +408,7 @@ self.OS.GUI = _GUI.buildSystemMenu() # push startup services # TODO: get services list from user setting - #_GUI.pushServices (v for v in _OS.setting.system.startup.services) + _GUI.pushServices (v for v in _OS.setting.system.startup.services) (_GUI.launch a) for a in _OS.setting.system.startup.apps #_GUI.launch "DummyApp" # initDM diff --git a/src/core/handlers/RemoteHandler.coffee b/src/core/handlers/RemoteHandler.coffee index 8538539..c0d0685 100644 --- a/src/core/handlers/RemoteHandler.coffee +++ b/src/core/handlers/RemoteHandler.coffee @@ -65,7 +65,8 @@ self.OS.API.handler = path = "#{_REST}/system/application" auth: (c) -> p = "#{_REST}/system/auth" - _API.post p, {}, c, () -> + _API.post p, {}, c, (e, s) -> + console.log e, s alert __("Resource not found: {0}", p) login: (d, c) -> p = "#{_REST}/system/login" diff --git a/src/core/tags/afx-app-window.tag b/src/core/tags/afx-app-window.tag index fc86dc1..9709e9e 100644 --- a/src/core/tags/afx-app-window.tag +++ b/src/core/tags/afx-app-window.tag @@ -4,7 +4,7 @@
  • -
  • { apptitle?apptitle.toString().__():apptitle }
  • +
  • { apptitle?apptitle.__():apptitle }
  • diff --git a/src/core/tags/afx-label.tag b/src/core/tags/afx-label.tag index 6208cb6..7ebaa4b 100644 --- a/src/core/tags/afx-label.tag +++ b/src/core/tags/afx-label.tag @@ -2,7 +2,7 @@ - { text?text.toString().__():"" } + { text?text.__():"" }