瀏覽代碼

wxGUI/translations: different way of accessing gettext underscore ('_') function (attempt to fix https://trac.osgeo.org/grass/ticket/1739 for grasswxpy)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@57219 15284696-431f-4ddb-bdfa-cd5b030d7da7
Vaclav Petras 11 年之前
父節點
當前提交
ee95f55bfa
共有 100 個文件被更改,包括 113 次插入69 次删除
  1. 1 0
      gui/wxpython/animation/anim.py
  2. 1 3
      gui/wxpython/animation/controller.py
  3. 1 2
      gui/wxpython/animation/dialogs.py
  4. 1 2
      gui/wxpython/animation/frame.py
  5. 1 3
      gui/wxpython/animation/g.gui.animation.py
  6. 1 0
      gui/wxpython/animation/mapwindow.py
  7. 1 3
      gui/wxpython/animation/nviztask.py
  8. 1 2
      gui/wxpython/animation/temporal_manager.py
  9. 1 0
      gui/wxpython/animation/toolbars.py
  10. 1 0
      gui/wxpython/animation/utils.py
  11. 4 0
      gui/wxpython/core/gcmd.py
  12. 1 0
      gui/wxpython/core/gconsole.py
  13. 1 0
      gui/wxpython/core/giface.py
  14. 4 0
      gui/wxpython/core/globalvar.py
  15. 1 3
      gui/wxpython/core/menutree.py
  16. 1 0
      gui/wxpython/core/render.py
  17. 1 1
      gui/wxpython/core/settings.py
  18. 1 1
      gui/wxpython/core/toolboxes.py
  19. 2 0
      gui/wxpython/core/units.py
  20. 5 0
      gui/wxpython/core/utils.py
  21. 1 1
      gui/wxpython/core/workspace.py
  22. 1 0
      gui/wxpython/core/ws.py
  23. 1 1
      gui/wxpython/dbmgr/base.py
  24. 1 0
      gui/wxpython/dbmgr/dialogs.py
  25. 1 2
      gui/wxpython/dbmgr/g.gui.dbmgr.py
  26. 1 0
      gui/wxpython/dbmgr/manager.py
  27. 1 3
      gui/wxpython/dbmgr/sqlbuilder.py
  28. 1 0
      gui/wxpython/dbmgr/vinfo.py
  29. 1 0
      gui/wxpython/gcp/manager.py
  30. 1 0
      gui/wxpython/gcp/mapdisplay.py
  31. 1 0
      gui/wxpython/gcp/toolbars.py
  32. 2 7
      gui/wxpython/gis_set.py
  33. 1 0
      gui/wxpython/gmodeler/dialogs.py
  34. 1 0
      gui/wxpython/gmodeler/frame.py
  35. 1 3
      gui/wxpython/gmodeler/g.gui.gmodeler.py
  36. 1 0
      gui/wxpython/gmodeler/model.py
  37. 1 0
      gui/wxpython/gmodeler/preferences.py
  38. 1 0
      gui/wxpython/gmodeler/pystc.py
  39. 1 0
      gui/wxpython/gmodeler/toolbars.py
  40. 1 1
      gui/wxpython/gui_core/dialogs.py
  41. 1 2
      gui/wxpython/gui_core/forms.py
  42. 1 0
      gui/wxpython/gui_core/ghelp.py
  43. 1 0
      gui/wxpython/gui_core/goutput.py
  44. 1 1
      gui/wxpython/gui_core/gselect.py
  45. 1 0
      gui/wxpython/gui_core/mapdisp.py
  46. 1 0
      gui/wxpython/gui_core/mapwindow.py
  47. 1 0
      gui/wxpython/gui_core/menu.py
  48. 1 1
      gui/wxpython/gui_core/preferences.py
  49. 1 0
      gui/wxpython/gui_core/prompt.py
  50. 1 0
      gui/wxpython/gui_core/query.py
  51. 1 0
      gui/wxpython/gui_core/toolbars.py
  52. 1 0
      gui/wxpython/gui_core/treeview.py
  53. 1 0
      gui/wxpython/gui_core/widgets.py
  54. 1 0
      gui/wxpython/iclass/dialogs.py
  55. 1 0
      gui/wxpython/iclass/digit.py
  56. 2 4
      gui/wxpython/iclass/frame.py
  57. 1 2
      gui/wxpython/iclass/g.gui.iclass.py
  58. 1 0
      gui/wxpython/iclass/plots.py
  59. 1 0
      gui/wxpython/iclass/statistics.py
  60. 1 0
      gui/wxpython/iclass/toolbars.py
  61. 1 0
      gui/wxpython/icons/icon.py
  62. 1 1
      gui/wxpython/lmgr/frame.py
  63. 1 1
      gui/wxpython/lmgr/layertree.py
  64. 1 0
      gui/wxpython/lmgr/menudata.py
  65. 1 0
      gui/wxpython/lmgr/pyshell.py
  66. 1 0
      gui/wxpython/lmgr/toolbars.py
  67. 1 2
      gui/wxpython/location_wizard/dialogs.py
  68. 1 0
      gui/wxpython/location_wizard/wizard.py
  69. 1 1
      gui/wxpython/mapdisp/frame.py
  70. 1 0
      gui/wxpython/mapdisp/gprint.py
  71. 1 2
      gui/wxpython/mapdisp/main.py
  72. 1 1
      gui/wxpython/mapdisp/mapwindow.py
  73. 1 0
      gui/wxpython/mapdisp/statusbar.py
  74. 1 0
      gui/wxpython/mapdisp/toolbars.py
  75. 1 0
      gui/wxpython/mapswipe/dialogs.py
  76. 1 0
      gui/wxpython/mapswipe/frame.py
  77. 1 3
      gui/wxpython/mapswipe/g.gui.mapswipe.py
  78. 1 0
      gui/wxpython/mapswipe/mapwindow.py
  79. 2 0
      gui/wxpython/mapswipe/toolbars.py
  80. 1 0
      gui/wxpython/modules/colorrules.py
  81. 1 1
      gui/wxpython/modules/extensions.py
  82. 1 1
      gui/wxpython/modules/histogram.py
  83. 1 2
      gui/wxpython/modules/mcalc_builder.py
  84. 1 0
      gui/wxpython/modules/vclean.py
  85. 1 0
      gui/wxpython/nviz/animation.py
  86. 1 1
      gui/wxpython/nviz/mapwindow.py
  87. 1 0
      gui/wxpython/nviz/preferences.py
  88. 1 0
      gui/wxpython/nviz/tools.py
  89. 1 0
      gui/wxpython/nviz/workspace.py
  90. 1 0
      gui/wxpython/nviz/wxnviz.py
  91. 1 0
      gui/wxpython/psmap/dialogs.py
  92. 1 0
      gui/wxpython/psmap/frame.py
  93. 1 1
      gui/wxpython/psmap/g.gui.psmap.py
  94. 1 1
      gui/wxpython/psmap/instructions.py
  95. 1 0
      gui/wxpython/psmap/toolbars.py
  96. 1 0
      gui/wxpython/psmap/utils.py
  97. 1 0
      gui/wxpython/rlisetup/frame.py
  98. 1 3
      gui/wxpython/rlisetup/g.gui.rlisetup.py
  99. 1 0
      gui/wxpython/rlisetup/wizard.py
  100. 0 0
      gui/wxpython/scripts/vkrige.py

+ 1 - 0
gui/wxpython/animation/anim.py

@@ -16,6 +16,7 @@ This program is free software under the GNU General Public License
 
 
 import wx
 import wx
 from utils import Orientation, ReplayMode
 from utils import Orientation, ReplayMode
+from core.utils import _
 
 
 class Animation(wx.EvtHandler):
 class Animation(wx.EvtHandler):
     """!Animation class specifies which frame to show at which instance."""
     """!Animation class specifies which frame to show at which instance."""

+ 1 - 3
gui/wxpython/animation/controller.py

@@ -28,6 +28,7 @@ except ImportError:
     hasVisvis = False
     hasVisvis = False
 
 
 from core.gcmd import GException, GError, GMessage
 from core.gcmd import GException, GError, GMessage
+from core.utils import _
 import grass.script as grass
 import grass.script as grass
 
 
 from temporal_manager import TemporalManager
 from temporal_manager import TemporalManager
@@ -564,9 +565,6 @@ class AnimationController(wx.EvtHandler):
 
 
 
 
 #def test():
 #def test():
-#    import gettext
-#    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
-#
 #    import grass.script as grass
 #    import grass.script as grass
 #    import wx
 #    import wx
 #    app = wx.PySimpleApp()
 #    app = wx.PySimpleApp()

+ 1 - 2
gui/wxpython/animation/dialogs.py

@@ -36,6 +36,7 @@ from core import globalvar
 from gui_core import gselect
 from gui_core import gselect
 from gui_core.dialogs import MapLayersDialog, GetImageHandlers
 from gui_core.dialogs import MapLayersDialog, GetImageHandlers
 from core.settings import UserSettings
 from core.settings import UserSettings
+from core.utils import _
 
 
 from utils import TemporalMode, validateTimeseriesName, validateMapNames
 from utils import TemporalMode, validateTimeseriesName, validateMapNames
 from nviztask import NvizTask
 from nviztask import NvizTask
@@ -1242,8 +1243,6 @@ class ExportDialog(wx.Dialog):
 
 
 def test():
 def test():
     import wx.lib.inspection
     import wx.lib.inspection
-    import gettext
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
 
 
     import grass.script as grass
     import grass.script as grass
 
 

+ 1 - 2
gui/wxpython/animation/frame.py

@@ -29,6 +29,7 @@ if __name__ == '__main__':
 from core import globalvar
 from core import globalvar
 from gui_core.widgets import IntegerValidator
 from gui_core.widgets import IntegerValidator
 from core.gcmd import RunCommand
 from core.gcmd import RunCommand
+from core.utils import _
 
 
 from mapwindow import AnimationWindow, BitmapProvider, BitmapPool
 from mapwindow import AnimationWindow, BitmapProvider, BitmapPool
 from controller import AnimationController
 from controller import AnimationController
@@ -512,8 +513,6 @@ class TimeAnimationSlider(AnimationSliderBase):
             self.Layout()
             self.Layout()
 
 
 def test():
 def test():
-    import gettext
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
 
 
     import grass.script as grass
     import grass.script as grass
 
 

+ 1 - 3
gui/wxpython/animation/g.gui.animation.py

@@ -54,7 +54,6 @@ import os
 import sys
 import sys
 
 
 import wx
 import wx
-import gettext
 
 
 import grass.script as grass
 import grass.script as grass
 
 
@@ -64,11 +63,10 @@ if __name__ == '__main__':
 from core.settings import UserSettings
 from core.settings import UserSettings
 from core.globalvar import CheckWxVersion
 from core.globalvar import CheckWxVersion
 from core.giface import StandaloneGrassInterface
 from core.giface import StandaloneGrassInterface
+from core.utils import _
 from animation.frame import AnimationFrame, MAX_COUNT
 from animation.frame import AnimationFrame, MAX_COUNT
 
 
 def main():
 def main():
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
-
     options, flags = grass.parser()
     options, flags = grass.parser()
 
 
     rast = options['rast']
     rast = options['rast']

+ 1 - 0
gui/wxpython/animation/mapwindow.py

@@ -24,6 +24,7 @@ import grass.script as grass
 from core.gcmd import RunCommand
 from core.gcmd import RunCommand
 from core.debug import Debug
 from core.debug import Debug
 from core.settings import UserSettings
 from core.settings import UserSettings
+from core.utils import _
 
 
 from grass.pydispatch.signal import Signal
 from grass.pydispatch.signal import Signal
 
 

+ 1 - 3
gui/wxpython/animation/nviztask.py

@@ -27,7 +27,7 @@ if __name__ == '__main__':
 
 
 from core.workspace import ProcessWorkspaceFile
 from core.workspace import ProcessWorkspaceFile
 from core.gcmd import RunCommand, GException
 from core.gcmd import RunCommand, GException
-from core.utils import GetLayerNameFromCmd, CmdToTuple
+from core.utils import GetLayerNameFromCmd, CmdToTuple, _
 from grass.script import task as gtask
 from grass.script import task as gtask
 from grass.script import core as grass
 from grass.script import core as grass
 
 
@@ -198,8 +198,6 @@ class NvizTask:
 
 
 
 
 def test():
 def test():
-    import gettext
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
 
 
     nviz = NvizTask('/home/anna/testy/nviz/t12.gxw')
     nviz = NvizTask('/home/anna/testy/nviz/t12.gxw')
     # nviz = NvizState('/home/anna/testy/nviz/t3.gxw')
     # nviz = NvizState('/home/anna/testy/nviz/t3.gxw')

+ 1 - 2
gui/wxpython/animation/temporal_manager.py

@@ -26,6 +26,7 @@ if __name__ == '__main__':
 import grass.script as grass
 import grass.script as grass
 import grass.temporal as tgis
 import grass.temporal as tgis
 from core.gcmd import GException
 from core.gcmd import GException
+from core.utils import _
 from utils import validateTimeseriesName, TemporalType
 from utils import validateTimeseriesName, TemporalType
 
 
 
 
@@ -325,9 +326,7 @@ class TemporalManager(object):
         infoDict[id]['maps'] = maps
         infoDict[id]['maps'] = maps
 
 
 def test():
 def test():
-    import gettext
     from pprint import pprint
     from pprint import pprint
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
 
 
     temp = TemporalManager()
     temp = TemporalManager()
 
 

+ 1 - 0
gui/wxpython/animation/toolbars.py

@@ -21,6 +21,7 @@ from gui_core.toolbars import BaseToolbar, BaseIcons
 from icons.icon import MetaIcon
 from icons.icon import MetaIcon
 
 
 from anim import ReplayMode
 from anim import ReplayMode
+from core.utils import _
 
 
 ganimIcons = {
 ganimIcons = {
         'speed': MetaIcon(img = 'settings', label = _("Change animation speed")),
         'speed': MetaIcon(img = 'settings', label = _("Change animation speed")),

+ 1 - 0
gui/wxpython/animation/utils.py

@@ -28,6 +28,7 @@ import grass.temporal as tgis
 import grass.script as grass
 import grass.script as grass
 
 
 from core.gcmd import GException
 from core.gcmd import GException
+from core.utils import _
 
 
 class TemporalMode:
 class TemporalMode:
     TEMPORAL = 1
     TEMPORAL = 1

+ 4 - 0
gui/wxpython/core/gcmd.py

@@ -49,6 +49,10 @@ from grass.script import core as grass
 from core       import globalvar
 from core       import globalvar
 from core.debug import Debug
 from core.debug import Debug
 
 
+# cannot import from the core.utils module to avoid cross dependencies
+import gettext
+_ = gettext.translation('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale')).ugettext
+
 def GetRealCmd(cmd):
 def GetRealCmd(cmd):
     """!Return real command name - only for MS Windows
     """!Return real command name - only for MS Windows
     """
     """

+ 1 - 0
gui/wxpython/core/gconsole.py

@@ -39,6 +39,7 @@ from grass.pydispatch.signal import Signal
 
 
 from core import globalvar
 from core import globalvar
 from core.gcmd import CommandThread, GError, GException
 from core.gcmd import CommandThread, GError, GException
+from core.utils import _
 from gui_core.forms import GUI
 from gui_core.forms import GUI
 from core.debug import Debug
 from core.debug import Debug
 from core.settings import UserSettings
 from core.settings import UserSettings

+ 1 - 0
gui/wxpython/core/giface.py

@@ -19,6 +19,7 @@ import os
 from core.gconsole import GConsole, \
 from core.gconsole import GConsole, \
     EVT_CMD_OUTPUT, EVT_CMD_PROGRESS, EVT_CMD_RUN, EVT_CMD_DONE, \
     EVT_CMD_OUTPUT, EVT_CMD_PROGRESS, EVT_CMD_RUN, EVT_CMD_DONE, \
     EVT_WRITE_LOG, EVT_WRITE_CMD_LOG, EVT_WRITE_WARNING, EVT_WRITE_ERROR
     EVT_WRITE_LOG, EVT_WRITE_CMD_LOG, EVT_WRITE_WARNING, EVT_WRITE_ERROR
+from core.utils import _
 
 
 import grass.script as grass
 import grass.script as grass
 
 

+ 4 - 0
gui/wxpython/core/globalvar.py

@@ -27,6 +27,10 @@ ETCSYMBOLDIR = os.path.join(ETCDIR, "gui", "images", "symbols")
 
 
 from core.debug import Debug
 from core.debug import Debug
 
 
+# cannot import from the core.utils module to avoid cross dependencies
+import gettext
+_ = gettext.translation('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale')).ugettext
+
 if os.path.join(ETCDIR, "python") not in sys.path:
 if os.path.join(ETCDIR, "python") not in sys.path:
     sys.path.append(os.path.join(ETCDIR, "python"))
     sys.path.append(os.path.join(ETCDIR, "python"))
 
 

+ 1 - 3
gui/wxpython/core/menutree.py

@@ -51,6 +51,7 @@ if __name__ == '__main__':
 from core.treemodel import TreeModel, ModuleNode
 from core.treemodel import TreeModel, ModuleNode
 from core.settings import UserSettings
 from core.settings import UserSettings
 from core.toolboxes import expandAddons as expAddons
 from core.toolboxes import expandAddons as expAddons
+from core.utils import _
 
 
 if not os.getenv("GISBASE"):
 if not os.getenv("GISBASE"):
     sys.exit("GRASS is not running. Exiting...")
     sys.exit("GRASS is not running. Exiting...")
@@ -214,9 +215,6 @@ def printCommands(node, fh, itemSep, menuSep):
 
 
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":
-    # i18N
-    import gettext
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode=True)
 
 
     action = 'strings'
     action = 'strings'
     menu   = 'manager'
     menu   = 'manager'

+ 1 - 0
gui/wxpython/core/render.py

@@ -38,6 +38,7 @@ from grass.script import core as grass
 from grass.pydispatch.signal import Signal
 from grass.pydispatch.signal import Signal
 
 
 from core          import utils
 from core          import utils
+from core.utils import _
 from core.ws       import RenderWMSMgr
 from core.ws       import RenderWMSMgr
 from core.gcmd     import GException, GError, RunCommand
 from core.gcmd     import GException, GError, RunCommand
 from core.debug    import Debug
 from core.debug    import Debug

+ 1 - 1
gui/wxpython/core/settings.py

@@ -26,7 +26,7 @@ import types
 
 
 from core       import globalvar
 from core       import globalvar
 from core.gcmd  import GException, GError
 from core.gcmd  import GException, GError
-from core.utils import GetSettingsPath, PathJoin, rgb2str
+from core.utils import GetSettingsPath, PathJoin, rgb2str, _
 
 
 class Settings:
 class Settings:
     """!Generic class where to store settings"""
     """!Generic class where to store settings"""

+ 1 - 1
gui/wxpython/core/toolboxes.py

@@ -37,7 +37,7 @@ if __name__ == '__main__':
         sys.path.append(gui_wx_path)
         sys.path.append(gui_wx_path)
 
 
 from core.globalvar import ETCWXDIR
 from core.globalvar import ETCWXDIR
-from core.utils import GetSettingsPath
+from core.utils import GetSettingsPath, _
 from core.gcmd import GError, RunCommand
 from core.gcmd import GError, RunCommand
 
 
 import grass.script.task as gtask
 import grass.script.task as gtask

+ 2 - 0
gui/wxpython/core/units.py

@@ -22,6 +22,8 @@ This program is free software under the GNU General Public License
 @author Martin Landa <landa.martin gmail.com>
 @author Martin Landa <landa.martin gmail.com>
 """
 """
 
 
+from core.utils import _
+
 class BaseUnits:
 class BaseUnits:
     def __init__(self):
     def __init__(self):
         self._units = dict()
         self._units = dict()

+ 5 - 0
gui/wxpython/core/utils.py

@@ -32,6 +32,11 @@ from core.gcmd  import RunCommand
 from core.debug import Debug
 from core.debug import Debug
 # from core.settings import UserSettings
 # from core.settings import UserSettings
 
 
+# intended to be used also outside this module
+import gettext
+_ = gettext.translation('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale')).ugettext
+
+
 def normalize_whitespace(text):
 def normalize_whitespace(text):
     """!Remove redundant whitespace from a string"""
     """!Remove redundant whitespace from a string"""
     return string.join(string.split(text), ' ')
     return string.join(string.split(text), ' ')

+ 1 - 1
gui/wxpython/core/workspace.py

@@ -20,7 +20,7 @@ import os
 
 
 import wx
 import wx
 
 
-from core.utils     import normalize_whitespace
+from core.utils     import normalize_whitespace, _
 from core.settings  import UserSettings
 from core.settings  import UserSettings
 from core.gcmd      import EncodeString, GetDefaultEncoding
 from core.gcmd      import EncodeString, GetDefaultEncoding
 from nviz.main      import NvizSettings
 from nviz.main      import NvizSettings

+ 1 - 0
gui/wxpython/core/ws.py

@@ -28,6 +28,7 @@ from core          import utils
 from core.debug    import Debug
 from core.debug    import Debug
 
 
 from core.gconsole import CmdThread, GStderr, EVT_CMD_DONE, EVT_CMD_OUTPUT
 from core.gconsole import CmdThread, GStderr, EVT_CMD_DONE, EVT_CMD_OUTPUT
+from core.utils import _
 
 
 try:
 try:
     haveGdal = True
     haveGdal = True

+ 1 - 1
gui/wxpython/dbmgr/base.py

@@ -46,7 +46,7 @@ import grass.script as grass
 
 
 from dbmgr.sqlbuilder import SQLBuilderSelect, SQLBuilderUpdate
 from dbmgr.sqlbuilder import SQLBuilderSelect, SQLBuilderUpdate
 from core.gcmd        import RunCommand, GException, GError, GMessage, GWarning
 from core.gcmd        import RunCommand, GException, GError, GMessage, GWarning
-from core.utils       import ListOfCatsToRange
+from core.utils       import ListOfCatsToRange, _
 from gui_core.dialogs import CreateNewVector
 from gui_core.dialogs import CreateNewVector
 from dbmgr.vinfo      import VectorDBInfo, GetUnicodeValue, CreateDbInfoDesc
 from dbmgr.vinfo      import VectorDBInfo, GetUnicodeValue, CreateDbInfoDesc
 from core.debug       import Debug
 from core.debug       import Debug

+ 1 - 0
gui/wxpython/dbmgr/dialogs.py

@@ -21,6 +21,7 @@ import os
 import types
 import types
 
 
 from core import globalvar
 from core import globalvar
+from core.utils import _
 import wx
 import wx
 import wx.lib.scrolledpanel as scrolled
 import wx.lib.scrolledpanel as scrolled
 
 

+ 1 - 2
gui/wxpython/dbmgr/g.gui.dbmgr.py

@@ -32,8 +32,6 @@ import os
 import sys
 import sys
 
 
 import  wx
 import  wx
-import gettext
-gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
 
 
 import grass.script as grass
 import grass.script as grass
 
 
@@ -41,6 +39,7 @@ gui_wx_path = os.path.join(os.getenv('GISBASE'), 'etc', 'gui', 'wxpython')
 if gui_wx_path not in sys.path:
 if gui_wx_path not in sys.path:
     sys.path.append(gui_wx_path)
     sys.path.append(gui_wx_path)
 
 
+from core.utils import _
 from dbmgr.manager import AttributeManager
 from dbmgr.manager import AttributeManager
 
 
 def main():
 def main():

+ 1 - 0
gui/wxpython/dbmgr/manager.py

@@ -33,6 +33,7 @@ import grass.script as grass
 from core             import globalvar
 from core             import globalvar
 from core.gcmd        import GMessage
 from core.gcmd        import GMessage
 from core.debug       import Debug
 from core.debug       import Debug
+from core.utils import _
 from dbmgr.base       import DbMgrBase
 from dbmgr.base       import DbMgrBase
 from gui_core.widgets import GNotebook
 from gui_core.widgets import GNotebook
                 
                 

+ 1 - 3
gui/wxpython/dbmgr/sqlbuilder.py

@@ -33,6 +33,7 @@ if __name__ == "__main__":
         sys.path.append(gui_wx_path)
         sys.path.append(gui_wx_path)
 
 
 from core import globalvar
 from core import globalvar
+from core.utils import _
 import wx
 import wx
 
 
 from core.gcmd   import RunCommand, GError, GMessage
 from core.gcmd   import RunCommand, GError, GMessage
@@ -729,9 +730,6 @@ if __name__ == "__main__":
         print >>sys.stderr, __doc__
         print >>sys.stderr, __doc__
         sys.exit()
         sys.exit()
 
 
-    import gettext
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode=True)
-
     app = wx.App(0)
     app = wx.App(0)
     sqlb = sqlBuilder(parent = None, vectmap = sys.argv[2], layer = layer)
     sqlb = sqlBuilder(parent = None, vectmap = sys.argv[2], layer = layer)
     sqlb.Show()
     sqlb.Show()

+ 1 - 0
gui/wxpython/dbmgr/vinfo.py

@@ -22,6 +22,7 @@ import wx
 from gui_core.gselect import VectorDBInfo as VectorDBInfoBase
 from gui_core.gselect import VectorDBInfo as VectorDBInfoBase
 from core.gcmd        import RunCommand
 from core.gcmd        import RunCommand
 from core.settings    import UserSettings
 from core.settings    import UserSettings
+from core.utils import _
 import grass.script as grass
 import grass.script as grass
 
 
 def GetUnicodeValue(value):
 def GetUnicodeValue(value):

+ 1 - 0
gui/wxpython/gcp/manager.py

@@ -42,6 +42,7 @@ import grass.script as grass
 from core              import globalvar
 from core              import globalvar
 from core              import utils
 from core              import utils
 from core.render       import Map
 from core.render       import Map
+from core.utils import _
 from gui_core.gselect  import Select, LocationSelect, MapsetSelect
 from gui_core.gselect  import Select, LocationSelect, MapsetSelect
 from gui_core.dialogs  import GroupDialog
 from gui_core.dialogs  import GroupDialog
 from core.gcmd         import RunCommand, GMessage, GError, GWarning
 from core.gcmd         import RunCommand, GMessage, GError, GWarning

+ 1 - 0
gui/wxpython/gcp/mapdisplay.py

@@ -27,6 +27,7 @@ from mapdisp.toolbars  import MapToolbar
 from gcp.toolbars      import GCPDisplayToolbar, GCPManToolbar
 from gcp.toolbars      import GCPDisplayToolbar, GCPManToolbar
 from mapdisp.gprint    import PrintOptions
 from mapdisp.gprint    import PrintOptions
 from core.gcmd         import GMessage
 from core.gcmd         import GMessage
+from core.utils import _
 from gui_core.dialogs  import GetImageHandlers, ImageSizeDialog
 from gui_core.dialogs  import GetImageHandlers, ImageSizeDialog
 from gui_core.mapdisp  import SingleMapFrame
 from gui_core.mapdisp  import SingleMapFrame
 from core.settings     import UserSettings
 from core.settings     import UserSettings

+ 1 - 0
gui/wxpython/gcp/toolbars.py

@@ -21,6 +21,7 @@ import sys
 import wx
 import wx
 
 
 from core              import globalvar
 from core              import globalvar
+from core.utils import _
 from gui_core.toolbars import BaseToolbar, BaseIcons
 from gui_core.toolbars import BaseToolbar, BaseIcons
 from icon              import MetaIcon
 from icon              import MetaIcon
     
     

+ 2 - 7
gui/wxpython/gis_set.py

@@ -29,7 +29,6 @@ import codecs
 import getpass
 import getpass
 
 
 ### i18N
 ### i18N
-import gettext
 gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
 gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":
@@ -46,7 +45,7 @@ from grass.script import core as grass
 
 
 from gui_core.ghelp import HelpFrame
 from gui_core.ghelp import HelpFrame
 from core.gcmd      import GMessage, GError, DecodeString, RunCommand, GWarning
 from core.gcmd      import GMessage, GError, DecodeString, RunCommand, GWarning
-from core.utils     import GetListOfLocations, GetListOfMapsets
+from core.utils     import GetListOfLocations, GetListOfMapsets, _
 from location_wizard.dialogs import RegionDef
 from location_wizard.dialogs import RegionDef
 from gui_core.dialogs import TextEntryDialog
 from gui_core.dialogs import TextEntryDialog
 from gui_core.widgets import GenericValidator
 from gui_core.widgets import GenericValidator
@@ -78,9 +77,7 @@ class GRASSStartup(wx.Frame):
         self.panel = scrolled.ScrolledPanel(parent = self, id = wx.ID_ANY)
         self.panel = scrolled.ScrolledPanel(parent = self, id = wx.ID_ANY)
         
         
         # i18N
         # i18N
-        import gettext
-        gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
-
+        
         #
         #
         # graphical elements
         # graphical elements
         #
         #
@@ -1023,8 +1020,6 @@ if __name__ ==  "__main__":
     if os.getenv("GISBASE") is None:
     if os.getenv("GISBASE") is None:
         sys.exit("Failed to start GUI, GRASS GIS is not running.")
         sys.exit("Failed to start GUI, GRASS GIS is not running.")
         
         
-    import gettext
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
     
     
     GRASSStartUp = StartUp(0)
     GRASSStartUp = StartUp(0)
     GRASSStartUp.MainLoop()
     GRASSStartUp.MainLoop()

+ 1 - 0
gui/wxpython/gmodeler/dialogs.py

@@ -31,6 +31,7 @@ import wx.lib.mixins.listctrl as listmix
 
 
 from core                 import globalvar
 from core                 import globalvar
 from core                 import utils
 from core                 import utils
+from core.utils import _
 from gui_core.widgets     import SearchModuleWidget, SimpleValidator
 from gui_core.widgets     import SearchModuleWidget, SimpleValidator
 from core.gcmd            import GError, EncodeString
 from core.gcmd            import GError, EncodeString
 from gui_core.dialogs     import SimpleDialog, MapLayersDialogForModeler
 from gui_core.dialogs     import SimpleDialog, MapLayersDialogForModeler

+ 1 - 0
gui/wxpython/gmodeler/frame.py

@@ -33,6 +33,7 @@ from   wx.lib import ogl
 import wx.lib.flatnotebook    as FN
 import wx.lib.flatnotebook    as FN
 
 
 from core                 import globalvar
 from core                 import globalvar
+from core.utils import _
 from gui_core.widgets     import GNotebook
 from gui_core.widgets     import GNotebook
 from core.gconsole        import GConsole, \
 from core.gconsole        import GConsole, \
     EVT_CMD_RUN, EVT_CMD_DONE, EVT_CMD_PREPARE, EVT_CMD_RUN, EVT_CMD_DONE
     EVT_CMD_RUN, EVT_CMD_DONE, EVT_CMD_PREPARE, EVT_CMD_RUN, EVT_CMD_DONE

+ 1 - 3
gui/wxpython/gmodeler/g.gui.gmodeler.py

@@ -38,7 +38,6 @@ import os
 import sys
 import sys
 
 
 import  wx
 import  wx
-import gettext
 
 
 import grass.script as grass
 import grass.script as grass
 
 
@@ -48,11 +47,10 @@ if gui_wx_path not in sys.path:
 
 
 from core.giface import StandaloneGrassInterface
 from core.giface import StandaloneGrassInterface
 from core.globalvar import CheckWxVersion
 from core.globalvar import CheckWxVersion
+from core.utils import _
 from gmodeler.frame import ModelFrame
 from gmodeler.frame import ModelFrame
 
 
 def main():
 def main():
-    import gettext
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
     
     
     app = wx.PySimpleApp()
     app = wx.PySimpleApp()
     if not CheckWxVersion([2, 9]):
     if not CheckWxVersion([2, 9]):

+ 1 - 0
gui/wxpython/gmodeler/model.py

@@ -41,6 +41,7 @@ from wx.lib import ogl
 
 
 from core                import globalvar
 from core                import globalvar
 from core                import utils
 from core                import utils
+from core.utils import _
 from core.gcmd           import GMessage, GException, GError, RunCommand, EncodeString, GWarning, GetDefaultEncoding
 from core.gcmd           import GMessage, GException, GError, RunCommand, EncodeString, GWarning, GetDefaultEncoding
 from core.settings       import UserSettings
 from core.settings       import UserSettings
 from gui_core.forms      import GUI, CmdPanel
 from gui_core.forms      import GUI, CmdPanel

+ 1 - 0
gui/wxpython/gmodeler/preferences.py

@@ -21,6 +21,7 @@ import wx.lib.colourselect    as csel
 from core                 import globalvar
 from core                 import globalvar
 from gui_core.preferences import PreferencesBaseDialog
 from gui_core.preferences import PreferencesBaseDialog
 from core.settings        import UserSettings
 from core.settings        import UserSettings
+from core.utils import _
 
 
 class PreferencesDialog(PreferencesBaseDialog):
 class PreferencesDialog(PreferencesBaseDialog):
     """!User preferences dialog"""
     """!User preferences dialog"""

+ 1 - 0
gui/wxpython/gmodeler/pystc.py

@@ -19,6 +19,7 @@ import keyword
 
 
 import wx
 import wx
 from wx import stc
 from wx import stc
+from core.utils import _
 
 
 
 
 class PyStc(stc.StyledTextCtrl):
 class PyStc(stc.StyledTextCtrl):

+ 1 - 0
gui/wxpython/gmodeler/toolbars.py

@@ -20,6 +20,7 @@ import sys
 import wx
 import wx
 
 
 from core              import globalvar
 from core              import globalvar
+from core.utils import _
 from gui_core.toolbars import BaseToolbar, BaseIcons
 from gui_core.toolbars import BaseToolbar, BaseIcons
 
 
 from icons.icon        import MetaIcon
 from icons.icon        import MetaIcon

+ 1 - 1
gui/wxpython/gui_core/dialogs.py

@@ -51,7 +51,7 @@ from core.gcmd        import GError, RunCommand, GMessage
 from gui_core.gselect import LocationSelect, MapsetSelect, Select, OgrTypeSelect, GdalSelect, MapsetSelect
 from gui_core.gselect import LocationSelect, MapsetSelect, Select, OgrTypeSelect, GdalSelect, MapsetSelect
 from gui_core.forms   import GUI
 from gui_core.forms   import GUI
 from gui_core.widgets import SingleSymbolPanel, GListCtrl, SimpleValidator
 from gui_core.widgets import SingleSymbolPanel, GListCtrl, SimpleValidator
-from core.utils       import GetLayerNameFromCmd, GetValidLayerName
+from core.utils       import GetLayerNameFromCmd, GetValidLayerName, _
 from core.settings    import UserSettings, GetDisplayVectSettings
 from core.settings    import UserSettings, GetDisplayVectSettings
 from core.debug       import Debug
 from core.debug       import Debug
 
 

+ 1 - 2
gui/wxpython/gui_core/forms.py

@@ -94,6 +94,7 @@ from gui_core.ghelp   import HelpPanel
 from gui_core         import gselect
 from gui_core         import gselect
 from core             import gcmd
 from core             import gcmd
 from core             import utils
 from core             import utils
+from core.utils import _
 from core.settings    import UserSettings
 from core.settings    import UserSettings
 from gui_core.widgets import FloatValidator, GNotebook, FormNotebook, FormListbook
 from gui_core.widgets import FloatValidator, GNotebook, FormNotebook, FormListbook
 
 
@@ -2340,8 +2341,6 @@ class GrassGUIApp(wx.App):
         return True
         return True
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":
-    import gettext
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
     
     
     if len(sys.argv) == 1:
     if len(sys.argv) == 1:
         sys.exit(_("usage: %s <grass command>") % sys.argv[0])
         sys.exit(_("usage: %s <grass command>") % sys.argv[0])

+ 1 - 0
gui/wxpython/gui_core/ghelp.py

@@ -33,6 +33,7 @@ except ImportError:
 import grass.script as grass
 import grass.script as grass
 
 
 from core             import globalvar
 from core             import globalvar
+from core.utils import _
 from core.gcmd        import GError, DecodeString
 from core.gcmd        import GError, DecodeString
 from gui_core.widgets import FormListbook, ScrolledPanel
 from gui_core.widgets import FormListbook, ScrolledPanel
 from core.debug       import Debug
 from core.debug       import Debug

+ 1 - 0
gui/wxpython/gui_core/goutput.py

@@ -39,6 +39,7 @@ from core.gconsole   import GConsole, \
     EVT_WRITE_LOG, EVT_WRITE_CMD_LOG, EVT_WRITE_WARNING, EVT_WRITE_ERROR
     EVT_WRITE_LOG, EVT_WRITE_CMD_LOG, EVT_WRITE_WARNING, EVT_WRITE_ERROR
 from gui_core.prompt import GPromptSTC
 from gui_core.prompt import GPromptSTC
 from core.settings   import UserSettings
 from core.settings   import UserSettings
+from core.utils import _
 from gui_core.widgets import SearchModuleWidget
 from gui_core.widgets import SearchModuleWidget
 
 
 
 

+ 1 - 1
gui/wxpython/gui_core/gselect.py

@@ -58,7 +58,7 @@ from gui_core.widgets  import ManageSettingsWidget
 from core.gcmd     import RunCommand, GError, GMessage
 from core.gcmd     import RunCommand, GError, GMessage
 from core.utils    import GetListOfLocations, GetListOfMapsets, GetFormats
 from core.utils    import GetListOfLocations, GetListOfMapsets, GetFormats
 from core.utils    import GetSettingsPath, GetValidLayerName, ListSortLower
 from core.utils    import GetSettingsPath, GetValidLayerName, ListSortLower
-from core.utils    import GetVectorNumberOfLayers
+from core.utils    import GetVectorNumberOfLayers, _
 from core.settings import UserSettings
 from core.settings import UserSettings
 from core.debug    import Debug
 from core.debug    import Debug
 
 

+ 1 - 0
gui/wxpython/gui_core/mapdisp.py

@@ -27,6 +27,7 @@ import wx.aui
 
 
 from core        import globalvar
 from core        import globalvar
 from core.debug  import Debug
 from core.debug  import Debug
+from core.utils import _
 
 
 from grass.script import core as grass
 from grass.script import core as grass
 
 

+ 1 - 0
gui/wxpython/gui_core/mapwindow.py

@@ -22,6 +22,7 @@ import wx
 
 
 from core.settings import UserSettings
 from core.settings import UserSettings
 from core.gcmd     import GError
 from core.gcmd     import GError
+from core.utils import _
 
 
 from grass.script import core as grass
 from grass.script import core as grass
 
 

+ 1 - 0
gui/wxpython/gui_core/menu.py

@@ -24,6 +24,7 @@ import wx
 from core              import globalvar
 from core              import globalvar
 from core              import utils
 from core              import utils
 from core.gcmd         import EncodeString
 from core.gcmd         import EncodeString
+from core.utils import _
 from gui_core.widgets  import SearchModuleWidget
 from gui_core.widgets  import SearchModuleWidget
 from gui_core.treeview import CTreeView
 from gui_core.treeview import CTreeView
 
 

+ 1 - 1
gui/wxpython/gui_core/preferences.py

@@ -46,7 +46,7 @@ from grass.script import core as grass
 
 
 from core          import globalvar
 from core          import globalvar
 from core.gcmd     import RunCommand
 from core.gcmd     import RunCommand
-from core.utils    import ListOfMapsets, GetColorTables, ReadEpsgCodes, StoreEnvVariable
+from core.utils    import ListOfMapsets, GetColorTables, ReadEpsgCodes, StoreEnvVariable, _
 from core.settings import UserSettings
 from core.settings import UserSettings
 from gui_core.dialogs import SymbolDialog
 from gui_core.dialogs import SymbolDialog
 from gui_core.widgets import IntegerValidator
 from gui_core.widgets import IntegerValidator

+ 1 - 0
gui/wxpython/gui_core/prompt.py

@@ -32,6 +32,7 @@ from grass.pydispatch.signal import Signal
 from core          import globalvar
 from core          import globalvar
 from core          import utils
 from core          import utils
 from core.gcmd     import EncodeString, DecodeString, GetRealCmd
 from core.gcmd     import EncodeString, DecodeString, GetRealCmd
+from core.utils import _
 
 
 
 
 class GPrompt(object):
 class GPrompt(object):

+ 1 - 0
gui/wxpython/gui_core/query.py

@@ -22,6 +22,7 @@ if __name__ == '__main__':
     if gui_wx_path not in sys.path:
     if gui_wx_path not in sys.path:
         sys.path.append(gui_wx_path)
         sys.path.append(gui_wx_path)
 
 
+from core.utils import _
 from gui_core.treeview import TreeListView
 from gui_core.treeview import TreeListView
 from core.treemodel import TreeModel, DictNode
 from core.treemodel import TreeModel, DictNode
 
 

+ 1 - 0
gui/wxpython/gui_core/toolbars.py

@@ -22,6 +22,7 @@ import wx
 
 
 from core               import globalvar
 from core               import globalvar
 from core.debug         import Debug
 from core.debug         import Debug
+from core.utils import _
 from icons.icon         import MetaIcon
 from icons.icon         import MetaIcon
 
 
 BaseIcons = {
 BaseIcons = {

+ 1 - 0
gui/wxpython/gui_core/treeview.py

@@ -31,6 +31,7 @@ if __name__ == '__main__':
 
 
 from core.globalvar import hasAgw
 from core.globalvar import hasAgw
 from core.treemodel import TreeModel, DictNode
 from core.treemodel import TreeModel, DictNode
+from core.utils import _
 
 
 from grass.pydispatch.signal import Signal
 from grass.pydispatch.signal import Signal
 
 

+ 1 - 0
gui/wxpython/gui_core/widgets.py

@@ -52,6 +52,7 @@ except ImportError:
 from grass.pydispatch.signal import Signal
 from grass.pydispatch.signal import Signal
 
 
 from core        import globalvar
 from core        import globalvar
+from core.utils import _
 from core.gcmd   import GMessage, GError
 from core.gcmd   import GMessage, GError
 from core.debug  import Debug
 from core.debug  import Debug
 
 

+ 1 - 0
gui/wxpython/iclass/dialogs.py

@@ -26,6 +26,7 @@ import wx.lib.mixins.listctrl as listmix
 import wx.lib.scrolledpanel as scrolled
 import wx.lib.scrolledpanel as scrolled
 
 
 from core               import globalvar
 from core               import globalvar
+from core.utils import _
 from core.settings      import UserSettings
 from core.settings      import UserSettings
 from core.gcmd          import GMessage
 from core.gcmd          import GMessage
 from gui_core.dialogs   import SimpleDialog, GroupDialog
 from gui_core.dialogs   import SimpleDialog, GroupDialog

+ 1 - 0
gui/wxpython/iclass/digit.py

@@ -22,6 +22,7 @@ from vdigit.mapwindow import VDigitWindow
 from vdigit.wxdigit   import IVDigit
 from vdigit.wxdigit   import IVDigit
 from vdigit.wxdisplay import DisplayDriver, TYPE_AREA
 from vdigit.wxdisplay import DisplayDriver, TYPE_AREA
 from core.gcmd        import GWarning
 from core.gcmd        import GWarning
+from core.utils import _
 try:
 try:
     from grass.lib.gis    import G_verbose, G_set_verbose
     from grass.lib.gis    import G_verbose, G_set_verbose
     from grass.lib.vector import *
     from grass.lib.vector import *

+ 2 - 4
gui/wxpython/iclass/frame.py

@@ -21,6 +21,7 @@ import os
 import sys
 import sys
 import copy
 import copy
 import tempfile
 import tempfile
+from core.utils import _
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":
     gui_wx_path = os.path.join(os.getenv('GISBASE'), 'etc', 'gui', 'wxpython')
     gui_wx_path = os.path.join(os.getenv('GISBASE'), 'etc', 'gui', 'wxpython')
@@ -1297,11 +1298,8 @@ class MapManager:
                 self.toolbar.choice.SetString(idx, self._addSuffix(alias))
                 self.toolbar.choice.SetString(idx, self._addSuffix(alias))
 
 
 def test():
 def test():
-    import gettext
     import core.render as render
     import core.render as render
-    
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
-    
+
     app = wx.PySimpleApp()
     app = wx.PySimpleApp()
     wx.InitAllImageHandlers()
     wx.InitAllImageHandlers()
     
     

+ 1 - 2
gui/wxpython/iclass/g.gui.iclass.py

@@ -51,7 +51,6 @@ import os
 import sys
 import sys
 
 
 import  wx
 import  wx
-import gettext
 
 
 import grass.script as grass
 import grass.script as grass
 
 
@@ -63,6 +62,7 @@ if __name__ == '__main__':
 from core.settings  import UserSettings
 from core.settings  import UserSettings
 from core.globalvar import CheckWxVersion
 from core.globalvar import CheckWxVersion
 from core.giface    import StandaloneGrassInterface
 from core.giface    import StandaloneGrassInterface
+from core.utils import _
 from iclass.frame   import IClassMapFrame
 from iclass.frame   import IClassMapFrame
 
 
 def main():
 def main():
@@ -113,7 +113,6 @@ def main():
     app.MainLoop()
     app.MainLoop()
     
     
 if __name__ == '__main__':
 if __name__ == '__main__':
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
     grass.set_raise_on_error(False)
     grass.set_raise_on_error(False)
     options, flags = grass.parser()
     options, flags = grass.parser()
     main()
     main()

+ 1 - 0
gui/wxpython/iclass/plots.py

@@ -18,6 +18,7 @@ for details.
 import wx
 import wx
 import wx.lib.plot as plot
 import wx.lib.plot as plot
 import wx.lib.scrolledpanel as scrolled
 import wx.lib.scrolledpanel as scrolled
+from core.utils import _
 
 
 class PlotPanel(scrolled.ScrolledPanel):
 class PlotPanel(scrolled.ScrolledPanel):
     """!Panel for drawing multiple plots.
     """!Panel for drawing multiple plots.

+ 1 - 0
gui/wxpython/iclass/statistics.py

@@ -20,6 +20,7 @@ import os
 from ctypes import *
 from ctypes import *
 
 
 import grass.script as grass
 import grass.script as grass
+from core.utils import _
 
 
 try:
 try:
     from grass.lib.imagery import *
     from grass.lib.imagery import *

+ 1 - 0
gui/wxpython/iclass/toolbars.py

@@ -20,6 +20,7 @@ for details.
 
 
 import wx
 import wx
 
 
+from core.utils import _
 from gui_core.toolbars import BaseToolbar, BaseIcons
 from gui_core.toolbars import BaseToolbar, BaseIcons
 from icons.icon import MetaIcon
 from icons.icon import MetaIcon
 from iclass.dialogs import IClassMapDialog
 from iclass.dialogs import IClassMapDialog

+ 1 - 0
gui/wxpython/icons/icon.py

@@ -22,6 +22,7 @@ import copy
 import wx
 import wx
 
 
 from core.settings import UserSettings
 from core.settings import UserSettings
+from core.utils import _
 
 
 # default icon set
 # default icon set
 import grass_icons
 import grass_icons

+ 1 - 1
gui/wxpython/lmgr/frame.py

@@ -44,7 +44,7 @@ from grass.script          import core as grass
 
 
 from core.gcmd             import RunCommand, GError, GMessage, GException
 from core.gcmd             import RunCommand, GError, GMessage, GException
 from core.settings         import UserSettings, GetDisplayVectSettings
 from core.settings         import UserSettings, GetDisplayVectSettings
-from core.utils            import SetAddOnPath, GetLayerNameFromCmd, command2ltype
+from core.utils            import SetAddOnPath, GetLayerNameFromCmd, command2ltype, _
 from gui_core.preferences  import MapsetAccess, PreferencesDialog
 from gui_core.preferences  import MapsetAccess, PreferencesDialog
 from lmgr.layertree        import LayerTree, LMIcons
 from lmgr.layertree        import LayerTree, LMIcons
 from lmgr.menudata         import LayerManagerMenuData, LayerManagerModuleTree
 from lmgr.menudata         import LayerManagerMenuData, LayerManagerModuleTree

+ 1 - 1
gui/wxpython/lmgr/layertree.py

@@ -37,7 +37,7 @@ from gui_core.forms       import GUI
 from mapdisp.frame        import MapFrame
 from mapdisp.frame        import MapFrame
 from core.render          import Map
 from core.render          import Map
 from wxplot.histogram     import HistogramPlotFrame
 from wxplot.histogram     import HistogramPlotFrame
-from core.utils           import GetLayerNameFromCmd, ltype2command
+from core.utils           import GetLayerNameFromCmd, ltype2command, _
 from wxplot.profile       import ProfileFrame
 from wxplot.profile       import ProfileFrame
 from core.debug           import Debug
 from core.debug           import Debug
 from core.settings        import UserSettings, GetDisplayVectSettings
 from core.settings        import UserSettings, GetDisplayVectSettings

+ 1 - 0
gui/wxpython/lmgr/menudata.py

@@ -21,6 +21,7 @@ from core.menutree  import MenuTreeModelBuilder
 from core.toolboxes import getMenudataFile
 from core.toolboxes import getMenudataFile
 from core.globalvar import ETCWXDIR
 from core.globalvar import ETCWXDIR
 from core.gcmd import GError
 from core.gcmd import GError
+from core.utils import _
 
 
 
 
 class LayerManagerMenuData(MenuTreeModelBuilder):
 class LayerManagerMenuData(MenuTreeModelBuilder):

+ 1 - 0
gui/wxpython/lmgr/pyshell.py

@@ -24,6 +24,7 @@ from wx.py.shell   import Shell as PyShell
 from wx.py.version import VERSION
 from wx.py.version import VERSION
 
 
 import grass.script as grass
 import grass.script as grass
+from core.utils import _
 
 
 class PyShellWindow(wx.Panel):
 class PyShellWindow(wx.Panel):
     """!Python Shell Window"""
     """!Python Shell Window"""

+ 1 - 0
gui/wxpython/lmgr/toolbars.py

@@ -25,6 +25,7 @@ This program is free software under the GNU General Public License
 from core.gcmd          import RunCommand
 from core.gcmd          import RunCommand
 from gui_core.toolbars  import BaseToolbar, BaseIcons
 from gui_core.toolbars  import BaseToolbar, BaseIcons
 from icons.icon         import MetaIcon
 from icons.icon         import MetaIcon
+from core.utils import _
 
 
 class LMWorkspaceToolbar(BaseToolbar):
 class LMWorkspaceToolbar(BaseToolbar):
     """!Layer Manager `workspace` toolbar
     """!Layer Manager `workspace` toolbar

+ 1 - 2
gui/wxpython/location_wizard/dialogs.py

@@ -30,6 +30,7 @@ if __name__ == '__main__':
 
 
 from core                 import globalvar
 from core                 import globalvar
 from core.gcmd            import RunCommand
 from core.gcmd            import RunCommand
+from core.utils import _
 from location_wizard.base import BaseClass
 from location_wizard.base import BaseClass
 
 
 from grass.script import core as grass
 from grass.script import core as grass
@@ -620,10 +621,8 @@ class SelectTransformDialog(wx.Dialog):
 
 
 def testRegionDef():
 def testRegionDef():
     import sys
     import sys
-    import gettext
     import wx.lib.inspection
     import wx.lib.inspection
     import grass.script as grass
     import grass.script as grass
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
 
 
     app = wx.PySimpleApp()
     app = wx.PySimpleApp()
 
 

+ 1 - 0
gui/wxpython/location_wizard/wizard.py

@@ -41,6 +41,7 @@ import wx.lib.scrolledpanel as scrolled
 
 
 from core                    import globalvar
 from core                    import globalvar
 from core                    import utils
 from core                    import utils
+from core.utils import _
 from core.gcmd               import RunCommand, GError, GMessage, GWarning
 from core.gcmd               import RunCommand, GError, GMessage, GWarning
 from gui_core.widgets        import GenericValidator
 from gui_core.widgets        import GenericValidator
 from location_wizard.base    import BaseClass
 from location_wizard.base    import BaseClass

+ 1 - 1
gui/wxpython/mapdisp/frame.py

@@ -43,7 +43,7 @@ from mapdisp.toolbars   import MapToolbar, NvizIcons
 from mapdisp.gprint     import PrintOptions
 from mapdisp.gprint     import PrintOptions
 from core.gcmd          import GError, GMessage
 from core.gcmd          import GError, GMessage
 from dbmgr.dialogs      import DisplayAttributesDialog
 from dbmgr.dialogs      import DisplayAttributesDialog
-from core.utils         import ListOfCatsToRange, GetLayerNameFromCmd
+from core.utils         import ListOfCatsToRange, GetLayerNameFromCmd, _
 from gui_core.dialogs   import GetImageHandlers, ImageSizeDialog, DecorationDialog, TextLayerDialog, \
 from gui_core.dialogs   import GetImageHandlers, ImageSizeDialog, DecorationDialog, TextLayerDialog, \
                                DECOR_DIALOG_LEGEND, DECOR_DIALOG_BARSCALE
                                DECOR_DIALOG_LEGEND, DECOR_DIALOG_BARSCALE
 from core.debug         import Debug
 from core.debug         import Debug

+ 1 - 0
gui/wxpython/mapdisp/gprint.py

@@ -19,6 +19,7 @@ This program is free software under the GNU General Public License
 import  wx
 import  wx
 
 
 from core.gcmd import GMessage
 from core.gcmd import GMessage
+from core.utils import _
 
 
 class MapPrint(wx.Printout):
 class MapPrint(wx.Printout):
     def __init__(self, canvas):
     def __init__(self, canvas):

+ 1 - 2
gui/wxpython/mapdisp/main.py

@@ -41,6 +41,7 @@ from core          import utils
 from core.giface   import StandaloneGrassInterface
 from core.giface   import StandaloneGrassInterface
 from core.gcmd     import RunCommand
 from core.gcmd     import RunCommand
 from core.render   import Map, MapLayer
 from core.render   import Map, MapLayer
+from core.utils import _
 from mapdisp.frame import MapFrame
 from mapdisp.frame import MapFrame
 from grass.script  import core as grass
 from grass.script  import core as grass
 from core.debug    import Debug
 from core.debug    import Debug
@@ -373,8 +374,6 @@ if __name__ == "__main__":
         except ValueError:
         except ValueError:
             pass
             pass
 
 
-    import gettext
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
     
     
     grass.verbose(_("Starting map display <%s>...") % (monName))
     grass.verbose(_("Starting map display <%s>...") % (monName))
 
 

+ 1 - 1
gui/wxpython/mapdisp/mapwindow.py

@@ -37,7 +37,7 @@ from core.gcmd          import RunCommand, GException, GError, GMessage
 from core.debug         import Debug
 from core.debug         import Debug
 from core.settings      import UserSettings
 from core.settings      import UserSettings
 from gui_core.mapwindow import MapWindow
 from gui_core.mapwindow import MapWindow
-from core.utils         import GetGEventAttribsForHandler
+from core.utils         import GetGEventAttribsForHandler, _
 
 
 try:
 try:
     import grass.lib.gis as gislib
     import grass.lib.gis as gislib

+ 1 - 0
gui/wxpython/mapdisp/statusbar.py

@@ -39,6 +39,7 @@ import wx
 from core          import utils
 from core          import utils
 from core.gcmd     import GMessage, RunCommand
 from core.gcmd     import GMessage, RunCommand
 from core.settings import UserSettings
 from core.settings import UserSettings
+from core.utils import _
 
 
 from grass.script  import core as grass
 from grass.script  import core as grass
 
 

+ 1 - 0
gui/wxpython/mapdisp/toolbars.py

@@ -22,6 +22,7 @@ from gui_core.toolbars import BaseToolbar, BaseIcons
 from nviz.main         import haveNviz
 from nviz.main         import haveNviz
 from vdigit.main       import haveVDigit
 from vdigit.main       import haveVDigit
 from icons.icon        import MetaIcon
 from icons.icon        import MetaIcon
+from core.utils import _
 
 
 MapIcons =  {
 MapIcons =  {
     'query'      : MetaIcon(img = 'info',
     'query'      : MetaIcon(img = 'info',

+ 1 - 0
gui/wxpython/mapswipe/dialogs.py

@@ -17,6 +17,7 @@ This program is free software under the GNU General Public License
 import wx
 import wx
 
 
 from core               import globalvar
 from core               import globalvar
+from core.utils import _
 from gui_core.dialogs   import SimpleDialog
 from gui_core.dialogs   import SimpleDialog
 from gui_core           import gselect
 from gui_core           import gselect
 from gui_core.widgets   import SimpleValidator
 from gui_core.widgets   import SimpleValidator

+ 1 - 0
gui/wxpython/mapswipe/frame.py

@@ -27,6 +27,7 @@ from core.render        import Map
 from mapdisp            import statusbar as sb
 from mapdisp            import statusbar as sb
 from core.debug         import Debug
 from core.debug         import Debug
 from core.gcmd          import GError, GMessage
 from core.gcmd          import GError, GMessage
+from core.utils import _
 
 
 from mapswipe.toolbars  import SwipeMapToolbar, SwipeMainToolbar, SwipeMiscToolbar
 from mapswipe.toolbars  import SwipeMapToolbar, SwipeMainToolbar, SwipeMiscToolbar
 from mapswipe.mapwindow import SwipeBufferedWindow
 from mapswipe.mapwindow import SwipeBufferedWindow

+ 1 - 3
gui/wxpython/mapswipe/g.gui.mapswipe.py

@@ -49,7 +49,6 @@ import os
 import sys
 import sys
 
 
 import  wx
 import  wx
-import gettext
 
 
 import grass.script as grass
 import grass.script as grass
 
 
@@ -61,12 +60,11 @@ if __name__ == '__main__':
 from core.settings import UserSettings
 from core.settings import UserSettings
 from core.globalvar import CheckWxVersion
 from core.globalvar import CheckWxVersion
 from core.giface import StandaloneGrassInterface
 from core.giface import StandaloneGrassInterface
+from core.utils import _
 from mapswipe.frame import SwipeMapFrame
 from mapswipe.frame import SwipeMapFrame
 
 
 
 
 def main():
 def main():
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
-
     driver = UserSettings.Get(group = 'display', key = 'driver', subkey = 'type')
     driver = UserSettings.Get(group = 'display', key = 'driver', subkey = 'type')
     if driver == 'png':
     if driver == 'png':
         os.environ['GRASS_RENDER_IMMEDIATE'] = 'png'
         os.environ['GRASS_RENDER_IMMEDIATE'] = 'png'

+ 1 - 0
gui/wxpython/mapswipe/mapwindow.py

@@ -20,6 +20,7 @@ This program is free software under the GNU General Public License
 import wx
 import wx
 
 
 from core.debug import Debug
 from core.debug import Debug
+from core.utils import _
 from mapdisp.mapwindow import BufferedWindow
 from mapdisp.mapwindow import BufferedWindow
 
 
 
 

+ 2 - 0
gui/wxpython/mapswipe/toolbars.py

@@ -20,6 +20,8 @@ import wx
 
 
 from gui_core.toolbars import BaseToolbar, BaseIcons
 from gui_core.toolbars import BaseToolbar, BaseIcons
 from icons.icon import MetaIcon
 from icons.icon import MetaIcon
+from core.utils import _
+
 
 
 swipeIcons = {
 swipeIcons = {
         'tools': MetaIcon(img = 'tools', label = _("Tools")),
         'tools': MetaIcon(img = 'tools', label = _("Tools")),

+ 1 - 0
gui/wxpython/modules/colorrules.py

@@ -36,6 +36,7 @@ import grass.script as grass
 
 
 from core             import globalvar
 from core             import globalvar
 from core             import utils
 from core             import utils
+from core.utils import _
 from core.gcmd        import GMessage, RunCommand, GError
 from core.gcmd        import GMessage, RunCommand, GError
 from gui_core.gselect import Select, LayerSelect, ColumnSelect, VectorDBInfo
 from gui_core.gselect import Select, LayerSelect, ColumnSelect, VectorDBInfo
 from core.render      import Map
 from core.render      import Map

+ 1 - 1
gui/wxpython/modules/extensions.py

@@ -27,7 +27,7 @@ from grass.script import task as gtask
 
 
 from core             import globalvar
 from core             import globalvar
 from core.gcmd        import GError, RunCommand, GException
 from core.gcmd        import GError, RunCommand, GException
-from core.utils       import SetAddOnPath
+from core.utils       import SetAddOnPath, _
 from core.menutree    import TreeModel, ModuleNode
 from core.menutree    import TreeModel, ModuleNode
 from gui_core.widgets import GListCtrl, SearchModuleWidget
 from gui_core.widgets import GListCtrl, SearchModuleWidget
 from gui_core.treeview import CTreeView
 from gui_core.treeview import CTreeView

+ 1 - 1
gui/wxpython/modules/histogram.py

@@ -25,7 +25,7 @@ from core                 import globalvar
 from core.render          import Map
 from core.render          import Map
 from gui_core.forms       import GUI
 from gui_core.forms       import GUI
 from mapdisp.gprint       import PrintOptions
 from mapdisp.gprint       import PrintOptions
-from core.utils           import GetLayerNameFromCmd
+from core.utils           import GetLayerNameFromCmd, _
 from gui_core.dialogs     import GetImageHandlers, ImageSizeDialog
 from gui_core.dialogs     import GetImageHandlers, ImageSizeDialog
 from gui_core.preferences import DefaultFontDialog
 from gui_core.preferences import DefaultFontDialog
 from core.debug           import Debug
 from core.debug           import Debug

+ 1 - 2
gui/wxpython/modules/mcalc_builder.py

@@ -31,6 +31,7 @@ if __name__ == "__main__":
 from core             import globalvar
 from core             import globalvar
 from core.gcmd        import GError, RunCommand
 from core.gcmd        import GError, RunCommand
 from core.giface      import StandaloneGrassInterface
 from core.giface      import StandaloneGrassInterface
+from core.utils import _
 from gui_core.gselect import Select
 from gui_core.gselect import Select
 from gui_core.forms   import GUI
 from gui_core.forms   import GUI
 from core.settings    import UserSettings
 from core.settings    import UserSettings
@@ -595,8 +596,6 @@ class MapCalcFrame(wx.Frame):
         self.Destroy()
         self.Destroy()
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":
-    import gettext
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
     
     
     app = wx.App(0)
     app = wx.App(0)
     frame = MapCalcFrame(parent = None, cmd = 'r.mapcalc', giface = StandaloneGrassInterface())
     frame = MapCalcFrame(parent = None, cmd = 'r.mapcalc', giface = StandaloneGrassInterface())

+ 1 - 0
gui/wxpython/modules/vclean.py

@@ -27,6 +27,7 @@ if __name__ == '__main__':
 
 
 from core.gcmd        import RunCommand, GError
 from core.gcmd        import RunCommand, GError
 from core             import globalvar
 from core             import globalvar
+from core.utils import _
 from gui_core.gselect import Select
 from gui_core.gselect import Select
 from core.settings    import UserSettings
 from core.settings    import UserSettings
 from grass.script import core as grass
 from grass.script import core as grass

+ 1 - 0
gui/wxpython/nviz/animation.py

@@ -20,6 +20,7 @@ import copy
 import wx
 import wx
 
 
 from grass.pydispatch.signal import Signal
 from grass.pydispatch.signal import Signal
+from core.utils import _
 
 
 class Animation:
 class Animation:
     """!Class represents animation as a sequence of states (views).
     """!Class represents animation as a sequence of states (views).

+ 1 - 1
gui/wxpython/nviz/mapwindow.py

@@ -42,7 +42,7 @@ from nviz.workspace     import NvizSettings
 from nviz.animation     import Animation
 from nviz.animation     import Animation
 from nviz               import wxnviz
 from nviz               import wxnviz
 from core.globalvar     import CheckWxVersion
 from core.globalvar     import CheckWxVersion
-from core.utils         import str2rgb
+from core.utils         import str2rgb, _
 
 
 wxUpdateProperties, EVT_UPDATE_PROP  = NewEvent()
 wxUpdateProperties, EVT_UPDATE_PROP  = NewEvent()
 wxUpdateView,       EVT_UPDATE_VIEW  = NewEvent()
 wxUpdateView,       EVT_UPDATE_VIEW  = NewEvent()

+ 1 - 0
gui/wxpython/nviz/preferences.py

@@ -24,6 +24,7 @@ import wx.lib.colourselect as csel
 
 
 from core                 import globalvar
 from core                 import globalvar
 from core.settings        import UserSettings
 from core.settings        import UserSettings
+from core.utils import _
 from gui_core.preferences import PreferencesBaseDialog
 from gui_core.preferences import PreferencesBaseDialog
 
 
 class NvizPreferencesDialog(PreferencesBaseDialog):
 class NvizPreferencesDialog(PreferencesBaseDialog):

+ 1 - 0
gui/wxpython/nviz/tools.py

@@ -46,6 +46,7 @@ except ImportError:
 import grass.script as grass
 import grass.script as grass
 
 
 from core               import globalvar
 from core               import globalvar
+from core.utils import _
 from gui_core.gselect   import VectorDBInfo
 from gui_core.gselect   import VectorDBInfo
 from core.gcmd          import GMessage, RunCommand
 from core.gcmd          import GMessage, RunCommand
 from modules.colorrules import ThematicVectorTable
 from modules.colorrules import ThematicVectorTable

+ 1 - 0
gui/wxpython/nviz/workspace.py

@@ -17,6 +17,7 @@ This program is free software under the GNU General Public License
 import copy
 import copy
 
 
 from core.settings import UserSettings
 from core.settings import UserSettings
+from core.utils import _
 
 
 try:
 try:
     from nviz      import wxnviz
     from nviz      import wxnviz

+ 1 - 0
gui/wxpython/nviz/wxnviz.py

@@ -48,6 +48,7 @@ from grass.lib.nviz     import *
 from grass.lib.raster   import *
 from grass.lib.raster   import *
 
 
 from core.debug import Debug
 from core.debug import Debug
+from core.utils import _
 import grass.script as grass
 import grass.script as grass
 
 
 log      = None
 log      = None

+ 1 - 0
gui/wxpython/psmap/dialogs.py

@@ -52,6 +52,7 @@ except ImportError:
 import grass.script as grass
 import grass.script as grass
 
 
 from core               import globalvar
 from core               import globalvar
+from core.utils import _
 from dbmgr.vinfo        import VectorDBInfo
 from dbmgr.vinfo        import VectorDBInfo
 from gui_core.gselect   import Select
 from gui_core.gselect   import Select
 from core.gcmd          import RunCommand, GError, GMessage
 from core.gcmd          import RunCommand, GError, GMessage

+ 1 - 0
gui/wxpython/psmap/frame.py

@@ -35,6 +35,7 @@ from core.gconsole      import CmdThread, EVT_CMD_DONE
 from psmap.toolbars     import PsMapToolbar
 from psmap.toolbars     import PsMapToolbar
 from core.gcmd          import RunCommand, GError, GMessage
 from core.gcmd          import RunCommand, GError, GMessage
 from core.settings      import UserSettings
 from core.settings      import UserSettings
+from core.utils import _
 from gui_core.forms     import GUI
 from gui_core.forms     import GUI
 from gui_core.dialogs   import HyperlinkDialog
 from gui_core.dialogs   import HyperlinkDialog
 from gui_core.ghelp     import ShowAboutDialog
 from gui_core.ghelp     import ShowAboutDialog

+ 1 - 1
gui/wxpython/psmap/g.gui.psmap.py

@@ -34,7 +34,6 @@
 
 
 import os
 import os
 import sys
 import sys
-import gettext
 
 
 import  wx
 import  wx
 
 
@@ -45,6 +44,7 @@ if wxbase not in sys.path:
     sys.path.append(wxbase)
     sys.path.append(wxbase)
 
 
 from core.globalvar import CheckWxVersion
 from core.globalvar import CheckWxVersion
+from core.utils import _
 from psmap.frame        import PsMapFrame
 from psmap.frame        import PsMapFrame
 from psmap.instructions import Instruction
 from psmap.instructions import Instruction
 
 

+ 1 - 1
gui/wxpython/psmap/instructions.py

@@ -41,7 +41,7 @@ import wx
 import grass.script as grass
 import grass.script as grass
 
 
 from core.gcmd          import RunCommand, GError, GMessage, GWarning
 from core.gcmd          import RunCommand, GError, GMessage, GWarning
-from core.utils         import CmdToTuple, GetCmdString
+from core.utils         import CmdToTuple, GetCmdString, _
 from dbmgr.vinfo        import VectorDBInfo
 from dbmgr.vinfo        import VectorDBInfo
 from psmap.utils        import *
 from psmap.utils        import *
 
 

+ 1 - 0
gui/wxpython/psmap/toolbars.py

@@ -20,6 +20,7 @@ import sys
 import wx
 import wx
 
 
 from core              import globalvar
 from core              import globalvar
+from core.utils import _
 from gui_core.toolbars import BaseToolbar, BaseIcons
 from gui_core.toolbars import BaseToolbar, BaseIcons
 from icons.icon        import MetaIcon
 from icons.icon        import MetaIcon
 from core.globalvar    import ETCIMGDIR
 from core.globalvar    import ETCIMGDIR

+ 1 - 0
gui/wxpython/psmap/utils.py

@@ -28,6 +28,7 @@ except ImportError:
 
 
 import grass.script as grass
 import grass.script as grass
 from core.gcmd          import RunCommand
 from core.gcmd          import RunCommand
+from core.utils import _
 
 
 class Rect2D(wx.Rect2D):
 class Rect2D(wx.Rect2D):
     """!Class representing rectangle with floating point values.
     """!Class representing rectangle with floating point values.

+ 1 - 0
gui/wxpython/rlisetup/frame.py

@@ -9,6 +9,7 @@ import wx
 import os
 import os
 
 
 from core import globalvar, gcmd
 from core import globalvar, gcmd
+from core.utils import _
 from grass.script import core as grass
 from grass.script import core as grass
 from rlisetup.functions import retRLiPath
 from rlisetup.functions import retRLiPath
 from rlisetup.wizard import RLIWizard
 from rlisetup.wizard import RLIWizard

+ 1 - 3
gui/wxpython/rlisetup/g.gui.rlisetup.py

@@ -28,7 +28,6 @@
 
 
 import os
 import os
 import sys
 import sys
-import gettext
 
 
 import  wx
 import  wx
 import grass.script as grass
 import grass.script as grass
@@ -39,12 +38,11 @@ if wxbase not in sys.path:
 
 
 from core.giface import StandaloneGrassInterface
 from core.giface import StandaloneGrassInterface
 from core.globalvar import CheckWxVersion
 from core.globalvar import CheckWxVersion
+from core.utils import _
 from rlisetup.frame import RLiSetupFrame
 from rlisetup.frame import RLiSetupFrame
 
 
 
 
 def main():
 def main():
-    gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'),
-                    unicode = True)
     app = wx.PySimpleApp()
     app = wx.PySimpleApp()
     if not CheckWxVersion([2, 9]):
     if not CheckWxVersion([2, 9]):
         wx.InitAllImageHandlers()
         wx.InitAllImageHandlers()

+ 1 - 0
gui/wxpython/rlisetup/wizard.py

@@ -33,6 +33,7 @@ import wx.lib.scrolledpanel as scrolled
 
 
 from gui_core import gselect
 from gui_core import gselect
 from core import gcmd
 from core import gcmd
+from core.utils import _
 from location_wizard.wizard import TitledPage as TitledPage
 from location_wizard.wizard import TitledPage as TitledPage
 from rlisetup.functions import checkValue, retRLiPath
 from rlisetup.functions import checkValue, retRLiPath
 from grass.script import core as grass
 from grass.script import core as grass

+ 0 - 0
gui/wxpython/scripts/vkrige.py


部分文件因文件數量過多而無法顯示