Index: trac-admin
===================================================================
--- trac-admin  (リビジョン 5)
+++ trac-admin  (作業コピー)
@@ -459,9 +459,16 @@
         print ' Please enter location of Trac page templates.'
         print ' Default is the location of the site-wide templates installed with Trac.'
         print
-        dt = trac.siteconfig.__default_templates_dir__
+        dt = self._do_calculate_l10n_dir(trac.siteconfig.__default_templates_dir__)
         prompt = 'Templates directory [%s]> ' % dt
         returnvals.append(raw_input(prompt) or dt)
+        print
+        print ' Please enter location of Trac default wiki pages.'
+        print ' Default is the location of the site-wide templates installed with Trac'
+        print
+        dw = self._do_calculate_l10n_dir(trac.siteconfig.__default_wiki_dir__)
+        prompt = 'Default wiki directory [%s]> ' % dw
+        returnvals.append(raw_input(prompt) or dw)
         return returnvals

     def do_initenv(self, line):
@@ -472,18 +479,21 @@
         project_name = None
         repository_dir = None
         templates_dir = None
+        default_wiki_dir = None
         if len(arg) == 1:
             returnvals = self.get_initenv_args()
             project_name = returnvals[0]
             repository_dir = returnvals[1]
             templates_dir = returnvals[2]
-        elif len(arg)!= 3:
+            default_wiki_dir = returnvals[3]
+        elif len(arg)!= 4:
             print 'Wrong number of arguments to initenv %d' % len(arg)
             return
         else:
             project_name = arg[0]
             repository_dir = arg[1]
             templates_dir = arg[2]
+            default_wiki_dir = arg[3]
         from svn import util, repos, core
         core.apr_initialize()
         pool = core.svn_pool_create(None)
@@ -512,13 +522,15 @@
             self.__env.set_config('trac', 'repository_dir', repository_dir)
             print '  trac.templates_dir'
             self.__env.set_config('trac', 'templates_dir', templates_dir)
+            print '  trac.default_wiki_dir'
+            self.__env.set_config('trac', 'default_wiki_dir', default_wiki_dir)
             print '  project.name'
             self.__env.set_config('project', 'name', project_name)
             self.__env.save_config()
             # Add a few default wiki pages
             print ' Installing wiki pages'
             cursor = cnx.cursor()
-            self._do_wiki_load(trac.siteconfig.__default_wiki_dir__,cursor)
+            self._do_wiki_load(default_wiki_dir,cursor)

             print ' Indexing repository'
             sync.sync(cnx, rep, fs_ptr, pool)
@@ -559,6 +571,25 @@
         print
         print 'Congratulations!'
         print
+
+    def _do_calculate_l10n_dir(self, basename):
+        import locale
+        import os.path
+
+        locale = locale.getdefaultlocale()
+        if locale == None or locale[0] == None or locale[0] == 'C':
+            return basename
+
+        locale_components = []
+        for c in locale[0].split('_'):
+            locale_components.append(c)
+
+        while len(locale_components) > 0:
+            path = basename + '.' + '_'.join(locale_components)
+            if os.path.exists(path):
+                return path
+            locale_components.pop()
+        return basename

     _help_resync = [('resync', 'Re-synchronize trac with the repository')]

@@ -635,7 +666,9 @@
                 dir = (len(arg) == 2 and arg[1]) or ''
                 self._do_wiki_load(dir)
             elif arg[0] == 'upgrade' and len(arg) == 1:
-                self._do_wiki_load(trac.siteconfig.__default_wiki_dir__,
+                dw = self._do_calculate_l10n_dir(trac.siteconfig.__default_wiki_dir__)
+                prompt = 'Default wiki directory [%s]> ' % dw
+                self._do_wiki_load(raw_input(prompt) or dw,
                                    ignore=['WikiStart', 'checkwiki.py'])
             else:
                 self.do_help ('wiki')
