]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/I18N.py
move wxPython to new trunk
[wxWidgets.git] / wxPython / demo / I18N.py
diff --git a/wxPython/demo/I18N.py b/wxPython/demo/I18N.py
deleted file mode 100644 (file)
index e35f483..0000000
+++ /dev/null
@@ -1,234 +0,0 @@
-#Boa:FramePanel:LanguageSelectPanel
-import os, sys
-import wx
-from wx.lib import langlistctrl
-from Main import opj
-
-
-# Normally you would just set _ to be a reference to the
-# wx.GetTranslation function, and then wrap all you literal strings in
-# _() function calls.  Then everytime you use one of your literals, it
-# would first pass through the translation function and try to load a
-# translated version of the string from the current message catalogs.
-# For this example, since we are changinb language on the fly, and
-# since we are only translating the label for one widget, we'll not do
-# it the automatic way and we'll be more explicit.  See the setup in
-# __init__() and the translation done in updateLanguage() below.
-
-_ = wx.GetTranslation
-
-exampleStrings = [
-    'the quick brown fox jumps over the lazy dog',  # demo string
-    'Tip of the Day',                               # wx built in translation
-    'Warning',                                      # wx built in translation
-]
-
-
-[wxID_LANGUAGESELECTPANEL, wxID_LANGUAGESELECTPANELENGLISHBASECH, 
- wxID_LANGUAGESELECTPANELLANGCTRLCONTAINER, 
- wxID_LANGUAGESELECTPANELLANGFILTERRB, wxID_LANGUAGESELECTPANELSTATICLINE1, 
- wxID_LANGUAGESELECTPANELSTATICTEXT1, wxID_LANGUAGESELECTPANELSTATICTEXT2, 
- wxID_LANGUAGESELECTPANELSTATICTEXT3, wxID_LANGUAGESELECTPANELTRANSLATEDST, 
-] = [wx.NewId() for _init_ctrls in range(9)]
-
-class LanguageSelectPanel(wx.Panel):
-    def _init_coll_boxSizer3_Items(self, parent):
-        # generated method, don't edit
-
-        parent.AddWindow(self.langCtrlContainer, 1, border=0, flag=wx.GROW)
-        parent.AddSpacer(wx.Size(8, 8), border=0, flag=0)
-        parent.AddWindow(self.langFilterRB, 0, border=0, flag=0)
-
-    def _init_coll_flexGridSizer1_Growables(self, parent):
-        # generated method, don't edit
-
-        parent.AddGrowableRow(1)
-        parent.AddGrowableCol(0)
-
-    def _init_coll_boxSizer1_Items(self, parent):
-        # generated method, don't edit
-
-        parent.AddWindow(self.staticText1, 0, border=8, flag=wx.ALL)
-        parent.AddSizer(self.boxSizer3, 1, border=8, flag=wx.ALL | wx.GROW)
-        parent.AddSizer(self.boxSizer2, 0, border=8, flag=wx.GROW | wx.ALL)
-
-    def _init_coll_boxSizer2_Items(self, parent):
-        # generated method, don't edit
-
-        parent.AddWindow(self.staticText2, 0, border=8, flag=wx.ALL)
-        parent.AddWindow(self.englishBaseCh, 0, border=8, flag=wx.GROW | wx.ALL)
-        parent.AddWindow(self.staticLine1, 0, border=8, flag=wx.GROW | wx.ALL)
-        parent.AddWindow(self.staticText3, 0, border=8, flag=wx.ALL)
-        parent.AddWindow(self.translatedST, 0, border=8, flag=wx.GROW | wx.ALL)
-
-    def _init_sizers(self):
-        # generated method, don't edit
-        self.boxSizer1 = wx.BoxSizer(orient=wx.VERTICAL)
-
-        self.flexGridSizer1 = wx.FlexGridSizer(cols=2, hgap=8, rows=0, vgap=8)
-
-        self.boxSizer3 = wx.BoxSizer(orient=wx.HORIZONTAL)
-
-        self.boxSizer2 = wx.BoxSizer(orient=wx.VERTICAL)
-
-        self._init_coll_boxSizer1_Items(self.boxSizer1)
-        self._init_coll_flexGridSizer1_Growables(self.flexGridSizer1)
-        self._init_coll_boxSizer3_Items(self.boxSizer3)
-        self._init_coll_boxSizer2_Items(self.boxSizer2)
-
-        self.SetSizer(self.boxSizer1)
-
-    def _init_ctrls(self, prnt):
-        # generated method, don't edit
-        wx.Panel.__init__(self, id=wxID_LANGUAGESELECTPANEL,
-              name='LanguageSelectPanel', parent=prnt, 
-              style=wx.RESIZE_BORDER | wx.DEFAULT_DIALOG_STYLE)
-        
-        self.staticText1 = wx.StaticText(id=wxID_LANGUAGESELECTPANELSTATICTEXT1,
-              label='Choose a language that will be used for example translation.',
-              name='staticText1', parent=self, style=0)
-
-        self.langCtrlContainer = wx.Panel(id=wxID_LANGUAGESELECTPANELLANGCTRLCONTAINER,
-              name='langCtrlContainer', parent=self, style=wx.TAB_TRAVERSAL)
-        self.langCtrlContainer.SetBackgroundColour(wx.Colour(255, 255, 255))
-        self.langCtrlContainer.Bind(wx.EVT_SIZE, self.OnLangCtrlContainerSize)
-
-        self.langFilterRB = wx.RadioBox(choices=['Translated example languages',
-              'Available languages on your system', 'All languages'],
-              id=wxID_LANGUAGESELECTPANELLANGFILTERRB, label='Filter',
-              majorDimension=1, name='langFilterRB', parent=self,
-              style=wx.RA_SPECIFY_COLS)
-        self.langFilterRB.Bind(wx.EVT_RADIOBOX, self.OnLangFilterRBRadiobox,
-              id=wxID_LANGUAGESELECTPANELLANGFILTERRB)
-
-        self.staticText2 = wx.StaticText(id=wxID_LANGUAGESELECTPANELSTATICTEXT2,
-              label='English Text:', name='staticText2', parent=self,
-              style=0)
-
-        self.staticText3 = wx.StaticText(id=wxID_LANGUAGESELECTPANELSTATICTEXT3,
-              label='Translated Text:', name='staticText3', parent=self,
-              style=0)
-
-        self.englishBaseCh = wx.Choice(choices=self.choices,
-              id=wxID_LANGUAGESELECTPANELENGLISHBASECH, name='englishBaseCh',
-              parent=self, style=0)
-        self.englishBaseCh.Bind(wx.EVT_CHOICE, self.OnLangSelectAndTranslate,
-              id=wxID_LANGUAGESELECTPANELENGLISHBASECH)
-
-        self.staticLine1 = wx.StaticLine(id=wxID_LANGUAGESELECTPANELSTATICLINE1,
-              name='staticLine1', parent=self, style=0)
-
-        self.translatedST = wx.StaticText(id=wxID_LANGUAGESELECTPANELTRANSLATEDST,
-              label='', name='translatedST', parent=self, style=0)
-
-        self._init_sizers()
-
-    def __init__(self, parent, log):
-        self.choices = []
-        self.choices = exampleStrings
-        
-        self._init_ctrls(parent)
-
-        self.log = log
-
-        lang = wx.LANGUAGE_DEFAULT
-        filter = 'demo'
-        langs = (wx.LANGUAGE_AFRIKAANS, wx.LANGUAGE_ENGLISH, wx.LANGUAGE_DEFAULT, 
-                 wx.LANGUAGE_SPANISH, wx.LANGUAGE_GERMAN, wx.LANGUAGE_ITALIAN,
-                 wx.LANGUAGE_FRENCH)
-
-
-        # usually you would define wx.Locale in your wx.App.OnInit class.
-        # for the demo we just define it in this module
-        self.locale = None
-        wx.Locale.AddCatalogLookupPathPrefix(opj('data/locale'))
-        self.updateLanguage(wx.LANGUAGE_DEFAULT)
-
-        
-        self.filterMap = {'demo': langlistctrl.LC_ONLY, 
-                          'available': langlistctrl.LC_AVAILABLE, 
-                          'all': langlistctrl.LC_ALL}
-                        
-        self.filterIdxMap = {0: 'demo', 
-                             1: 'available', 
-                             2: 'all'}
-        self.langs = langs
-        self.langCtrl = langlistctrl.LanguageListCtrl(self.langCtrlContainer, -1, 
-              filter=self.filterMap[filter], only=langs, select=lang)
-        
-        self.langCtrl.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnLangSelectAndTranslate)
-        self.langCtrl.Bind(wx.EVT_LIST_ITEM_DESELECTED, self.OnClearTranslatedText)
-              
-        self.OnLangCtrlContainerSize()
-        
-        self.englishBaseCh.Select(0)
-        self.OnLangSelectAndTranslate()
-
-
-    def updateLanguage(self, lang):
-        # Make *sure* any existing locale is deleted before the new
-        # one is created.  The old C++ object needs to be deleted
-        # before the new one is created, and if we just assign a new
-        # instance to the old Python variable, the old C++ locale will
-        # not be destroyed soon enough, likely causing a crash.
-        if self.locale:
-            assert sys.getrefcount(self.locale) <= 2
-            del self.locale
-        
-        # create a locale object for this language
-        self.locale = wx.Locale(lang)
-        if self.locale.IsOk():
-            self.locale.AddCatalog('wxpydemo')
-        else:
-            self.locale = None
-
-    def translateExample(self):
-        self.translatedST.SetLabel(_(self.englishBaseCh.GetStringSelection()))
-
-    def OnLangCtrlContainerSize(self, event=None):
-        if event: event.Skip()
-        self.langCtrl.SetSize(self.langCtrlContainer.GetSize())
-
-    def OnLangFilterRBRadiobox(self, event):
-        self.langCtrl.SetUpFilter(
-            self.filterMap[self.filterIdxMap[self.langFilterRB.GetSelection()]],
-            self.langs)
-
-    def OnLangSelectAndTranslate(self, event=None):
-        lang = self.langCtrl.GetLanguage()
-        
-        if lang is not None:
-            # set to the selected language
-            self.updateLanguage(lang)
-
-            self.translateExample()
-            
-            # set back to default
-            self.updateLanguage(wx.LANGUAGE_DEFAULT)
-
-    def OnClearTranslatedText(self, event):
-        self.translatedST.SetLabel('')        
-
-
-def runTest(frame, nb, log):
-    win = LanguageSelectPanel(nb, log) 
-    return win
-
-#-------------------------------------------------------------------------------
-
-overview = """<html><body>
-<h2>Internationalization (I18N)</h2>
-<p>
-This demo demonstrates how to setup and use the wx.Locale object to translate text.
-<p>
-It also shows the langlistctrl.LanguageListCtrl that can be used to display 
-languages with their associated countries flags, e.g. for setting the language
-in your application.
-
-</body></html>
-"""
-  
-if __name__ == '__main__':
-    import sys,os
-    import run
-    run.main(['', os.path.basename(sys.argv[0])])