[Kimchi-devel] [PATCH V5 1/7] Add Minimal UI Page for the Sample Plugin

Zhou Zheng Sheng zhshzhou at linux.vnet.ibm.com
Tue Jun 10 02:13:04 UTC 2014


on 2014/06/10 03:22, Aline Manera wrote:
> On 06/09/2014 07:08 AM, shaohef at linux.vnet.ibm.com wrote:
>> From: Zhou Zheng Sheng <zhshzhou at linux.vnet.ibm.com>
>>
>> Add minimal UI just enough to re-produce issue 342.
>>
>> https://github.com/kimchi-project/kimchi/issues/342
>>
>> Signed-off-by: Zhou Zheng Sheng <zhshzhou at linux.vnet.ibm.com>
>> Signed-off-by: ShaoHe Feng <shaohef at linux.vnet.ibm.com>
>> ---
>>   plugins/sample/__init__.py             | 3 ++-
>>   plugins/sample/sample.conf             | 5 +++++
>>   plugins/sample/ui/config/tab-ext.xml   | 8 ++++----
>>   plugins/sample/ui/pages/i18n.json.tmpl | 9 +++++++++
>>   plugins/sample/ui/pages/tab.html.tmpl  | 6 ++++++
>>   5 files changed, 26 insertions(+), 5 deletions(-)
>>   create mode 100644 plugins/sample/ui/pages/i18n.json.tmpl
>>   create mode 100644 plugins/sample/ui/pages/tab.html.tmpl
>>
>> diff --git a/plugins/sample/__init__.py b/plugins/sample/__init__.py
>> index 3183898..2101aed 100644
>> --- a/plugins/sample/__init__.py
>> +++ b/plugins/sample/__init__.py
>> @@ -26,6 +26,7 @@
>>
>>   from kimchi.config import PluginPaths
>>   from kimchi.control.base import Collection, Resource
>> +from kimchi.root import Root
>>   from plugins.sample.i18n import messages
>>   from plugins.sample.model import Model
>>
>> @@ -33,7 +34,7 @@
>>   model = Model()
>>
>>
>> -class Drawings(Resource):
>> +class Drawings(Root):
>>       def __init__(self):
>>           Resource.__init__(self, model)
>>           self.description = Description(model)
>> diff --git a/plugins/sample/sample.conf b/plugins/sample/sample.conf
>> index c4e80f7..78a9f4e 100644
>> --- a/plugins/sample/sample.conf
>> +++ b/plugins/sample/sample.conf
>> @@ -5,3 +5,8 @@ uri = "/plugins/sample"
>>
>>   [/]
>>   tools.trailing_slash.on = False
>> +tools.sessions.on = True
>> +tools.sessions.name = 'kimchi'
>> +tools.sessions.httponly = True
>> +tools.sessions.locking = 'explicit'
>> +tools.sessions.storage_type = 'ram'
>> diff --git a/plugins/sample/ui/config/tab-ext.xml
>> b/plugins/sample/ui/config/tab-ext.xml
>> index 948fa07..8e0b3d3 100644
>> --- a/plugins/sample/ui/config/tab-ext.xml
>> +++ b/plugins/sample/ui/config/tab-ext.xml
>> @@ -1,7 +1,7 @@
>>   <?xml version="1.0" encoding="utf-8"?>
>> -<!--<tabs-ext>
>> +<tabs-ext>
>>       <tab>
>> -        <title>Test</title>
>> -        <filePath>plugins/sample/ui/tab.html</filePath>
>> +        <title>SampleTab</title>
>> +        <path>plugins/sample/tab.html</path>
>>       </tab>
>> -</tabs-ext>-->
>> \ No newline at end of file
>> +</tabs-ext>
>> diff --git a/plugins/sample/ui/pages/i18n.json.tmpl
>> b/plugins/sample/ui/pages/i18n.json.tmpl
>> new file mode 100644
>> index 0000000..a153e2d
>> --- /dev/null
>> +++ b/plugins/sample/ui/pages/i18n.json.tmpl
>> @@ -0,0 +1,9 @@
>> +#unicode UTF-8
>> +#import gettext
>> +#from kimchi.cachebust import href
>> +#silent t = gettext.translation($lang.domain, $lang.localedir,
>> languages=$lang.lang)
>> +#silent _ = t.gettext
>> +#silent _t = t.gettext
>> +{
>> +    "SampleTab": "$_("SampleTab")"
>> +}
> 
> What is it for?
> Will it be base for all the plugin templates?
> 

This patch series is to solve issue 342. The front-end doesn't correctly
load the i18n.html of the plugin. After discussion we determine change
i18n.html into i18n.json so the front-end can easily load it without
extra parsing. In all, this is a demonstration on how to do i18n in
plugins for the front-end.

>> diff --git a/plugins/sample/ui/pages/tab.html.tmpl
>> b/plugins/sample/ui/pages/tab.html.tmpl
>> new file mode 100644
>> index 0000000..49fc4ec
>> --- /dev/null
>> +++ b/plugins/sample/ui/pages/tab.html.tmpl
>> @@ -0,0 +1,6 @@
>> +<!DOCTYPE html>
>> +<html>
>> +<body>
>> +Hello, world
>> +</body>
>> +</html>




More information about the Kimchi-devel mailing list