| 1909 | | Index: trac/scripts/admin.py |
|---|
| 1910 | | =================================================================== |
|---|
| 1911 | | --- trac/scripts/admin.py (revision 5935) |
|---|
| 1912 | | +++ trac/scripts/admin.py (working copy) |
|---|
| 1913 | | @@ -67,8 +67,8 @@ |
|---|
| 1914 | | class TracAdmin(cmd.Cmd): |
|---|
| 1915 | | intro = '' |
|---|
| 1916 | | license = trac.__license_long__ |
|---|
| 1917 | | - doc_header = 'Trac Admin Console %(ver)s\n' \ |
|---|
| 1918 | | - 'Available Commands:\n' \ |
|---|
| 1919 | | + doc_header = 'Consola Administrativa Trac %(ver)s\n' \ |
|---|
| 1920 | | + 'Commandos Disponibles:\n' \ |
|---|
| 1921 | | % {'ver':trac.__version__ } |
|---|
| 1922 | | ruler = '' |
|---|
| 1923 | | prompt = "Trac> " |
|---|
| 1924 | | @@ -97,17 +97,17 @@ |
|---|
| 1925 | | except SystemExit: |
|---|
| 1926 | | raise |
|---|
| 1927 | | except Exception, e: |
|---|
| 1928 | | - print>>sys.stderr, 'Command failed: %s' % e |
|---|
| 1929 | | + print>>sys.stderr, unicode('El comando falló: %s', 'utf-8').encode('utf-8') % e |
|---|
| 1930 | | rv = 2 |
|---|
| 1931 | | if not self.interactive: |
|---|
| 1932 | | return rv |
|---|
| 1933 | | |
|---|
| 1934 | | def run(self): |
|---|
| 1935 | | self.interactive = True |
|---|
| 1936 | | - print 'Welcome to trac-admin %(ver)s\n' \ |
|---|
| 1937 | | - 'Interactive Trac administration console.\n' \ |
|---|
| 1938 | | + print unicode('Bienvenido a trac-admin %(ver)s\n' \ |
|---|
| 1939 | | + 'Consola interactiva de administración Trac.\n' \ |
|---|
| 1940 | | 'Copyright (c) 2003-2006 Edgewall Software\n\n' \ |
|---|
| 1941 | | - "Type: '?' or 'help' for help on commands.\n" % \ |
|---|
| 1942 | | + "Ingrese: '?' ᅵ 'help' para obtener ayuda acerca de los comandos.\n", 'utf-8').encode('utf-8') % \ |
|---|
| 1943 | | {'ver':trac.__version__} |
|---|
| 1944 | | self.cmdloop() |
|---|
| 1945 | | |
|---|
| 1946 | | @@ -134,7 +134,7 @@ |
|---|
| 1947 | | self.__env = Environment(self.envname) |
|---|
| 1948 | | return self.__env |
|---|
| 1949 | | except Exception, e: |
|---|
| 1950 | | - print 'Failed to open environment.', e |
|---|
| 1951 | | + print 'No se pudo abrir el entorno Trac.', e |
|---|
| 1952 | | traceback.print_exc() |
|---|
| 1953 | | sys.exit(1) |
|---|
| 1954 | | |
|---|
| 1955 | | @@ -283,7 +283,7 @@ |
|---|
| 1956 | | except ValueError: |
|---|
| 1957 | | pass |
|---|
| 1958 | | if seconds == None: |
|---|
| 1959 | | - print>>sys.stderr, 'Unknown time format %s' % t |
|---|
| 1960 | | + print>>sys.stderr, 'Formato de hora desconocido %s' % t |
|---|
| 1961 | | return seconds |
|---|
| 1962 | | |
|---|
| 1963 | | def _format_date(self, s): |
|---|
| 1964 | | @@ -298,7 +298,7 @@ |
|---|
| 1965 | | ## |
|---|
| 1966 | | |
|---|
| 1967 | | ## Help |
|---|
| 1968 | | - _help_help = [('help', 'Show documentation')] |
|---|
| 1969 | | + _help_help = [('help', unicode('Mostrar documentación', 'utf-8').encode('utf-8'))] |
|---|
| 1970 | | |
|---|
| 1971 | | def all_docs(cls): |
|---|
| 1972 | | return (cls._help_about + cls._help_help + |
|---|
| 1973 | | @@ -320,30 +320,30 @@ |
|---|
| 1974 | | doc = getattr(self, "_help_" + arg[0]) |
|---|
| 1975 | | self.print_doc(doc) |
|---|
| 1976 | | except AttributeError: |
|---|
| 1977 | | - print "No documentation found for '%s'" % arg[0] |
|---|
| 1978 | | + print unicode("No se encontró documentación para '%s'", 'utf-8').encode('utf-8') % arg[0] |
|---|
| 1979 | | else: |
|---|
| 1980 | | - print 'trac-admin - The Trac Administration Console %s' \ |
|---|
| 1981 | | + print 'trac-admin - La Consola Administrativa Trac %s' \ |
|---|
| 1982 | | % trac.__version__ |
|---|
| 1983 | | if not self.interactive: |
|---|
| 1984 | | print |
|---|
| 1985 | | - print "Usage: trac-admin </path/to/projenv> [command [subcommand] [option ...]]\n" |
|---|
| 1986 | | - print "Invoking trac-admin without command starts "\ |
|---|
| 1987 | | - "interactive mode." |
|---|
| 1988 | | + print unicode("Uso: trac-admin </ruta/al/proyecto> [comando [subcomando] [opción ...]]\n", 'utf-8').encode('utf-8') |
|---|
| 1989 | | + print unicode("El invocar trac-admin sin ningún comando, inicia "\ |
|---|
| 1990 | | + "el modo interactivo.", 'utf-8').encode('utf-8') |
|---|
| 1991 | | self.print_doc(self.all_docs()) |
|---|
| 1992 | | |
|---|
| 1993 | | |
|---|
| 1994 | | ## About / Version |
|---|
| 1995 | | - _help_about = [('about', 'Shows information about trac-admin')] |
|---|
| 1996 | | + _help_about = [('about', unicode('Mostrar información acerca de trac-admin', 'utf-8').encode('utf-8'))] |
|---|
| 1997 | | |
|---|
| 1998 | | def do_about(self, line): |
|---|
| 1999 | | print |
|---|
| 2000 | | - print 'Trac Admin Console %s' % trac.__version__ |
|---|
| 2001 | | + print 'Consola Administrativa Trac %s' % trac.__version__ |
|---|
| 2002 | | print '=================================================================' |
|---|
| 2003 | | print self.license |
|---|
| 2004 | | |
|---|
| 2005 | | |
|---|
| 2006 | | ## Quit / EOF |
|---|
| 2007 | | - _help_quit = [['quit', 'Exit the program']] |
|---|
| 2008 | | + _help_quit = [['quit', 'Salir del programa']] |
|---|
| 2009 | | _help_exit = _help_quit |
|---|
| 2010 | | _help_EOF = _help_quit |
|---|
| 2011 | | |
|---|
| 2012 | | @@ -356,14 +356,14 @@ |
|---|
| 2013 | | |
|---|
| 2014 | | |
|---|
| 2015 | | # Component |
|---|
| 2016 | | - _help_component = [('component list', 'Show available components'), |
|---|
| 2017 | | - ('component add <name> <owner>', 'Add a new component'), |
|---|
| 2018 | | - ('component rename <name> <newname>', |
|---|
| 2019 | | - 'Rename a component'), |
|---|
| 2020 | | - ('component remove <name>', |
|---|
| 2021 | | - 'Remove/uninstall component'), |
|---|
| 2022 | | - ('component chown <name> <owner>', |
|---|
| 2023 | | - 'Change component ownership')] |
|---|
| 2024 | | + _help_component = [('component list', 'Mostrar los componentes disponibles'), |
|---|
| 2025 | | + ('component add <nombre> <responsable>', unicode('Añadir un nuevo componente', 'utf-8').encode('utf-8')), |
|---|
| 2026 | | + ('component rename <nombre> <nuevo_nombre>', |
|---|
| 2027 | | + 'Renombrar un componente'), |
|---|
| 2028 | | + ('component remove <nombre>', |
|---|
| 2029 | | + 'Quitar/eliminar un componente'), |
|---|
| 2030 | | + ('component chown <nombre> <responsable>', |
|---|
| 2031 | | + 'Modificar el responsable del componente')] |
|---|
| 2032 | | |
|---|
| 2033 | | def complete_component(self, text, line, begidx, endidx): |
|---|
| 2034 | | if begidx in (16, 17): |
|---|
| 2035 | | @@ -400,7 +400,7 @@ |
|---|
| 2036 | | data = [] |
|---|
| 2037 | | for c in Component.select(self.env_open()): |
|---|
| 2038 | | data.append((c.name, c.owner)) |
|---|
| 2039 | | - self.print_listing(['Name', 'Owner'], data) |
|---|
| 2040 | | + self.print_listing(['Nombre', 'Responsable'], data) |
|---|
| 2041 | | |
|---|
| 2042 | | def _do_component_add(self, name, owner): |
|---|
| 2043 | | component = Component(self.env_open()) |
|---|
| 2044 | | @@ -424,11 +424,11 @@ |
|---|
| 2045 | | |
|---|
| 2046 | | |
|---|
| 2047 | | ## Permission |
|---|
| 2048 | | - _help_permission = [('permission list [user]', 'List permission rules'), |
|---|
| 2049 | | - ('permission add <user> <action> [action] [...]', |
|---|
| 2050 | | - 'Add a new permission rule'), |
|---|
| 2051 | | - ('permission remove <user> <action> [action] [...]', |
|---|
| 2052 | | - 'Remove permission rule')] |
|---|
| 2053 | | + _help_permission = [('permission list [user]', 'Listar las reglas de permisos'), |
|---|
| 2054 | | + (unicode('permission add <usuario> <acción> [acción] [...]', 'utf-8').encode('utf-8'), |
|---|
| 2055 | | + unicode('Añadir una nueva regla de permisos', 'utf-8').encode('utf-8')), |
|---|
| 2056 | | + (unicode('permission remove <usuario> <acción> [acción] [...]', 'utf-8').encode('utf-8'), |
|---|
| 2057 | | + 'Quitar una regla de permisos')] |
|---|
| 2058 | | |
|---|
| 2059 | | def complete_permission(self, text, line, begidx, endidx): |
|---|
| 2060 | | argv = self.arg_tokenize(line) |
|---|
| 2061 | | @@ -472,9 +472,9 @@ |
|---|
| 2062 | | else: |
|---|
| 2063 | | rows = self._permsys.get_all_permissions() |
|---|
| 2064 | | rows.sort() |
|---|
| 2065 | | - self.print_listing(['User', 'Action'], rows) |
|---|
| 2066 | | + self.print_listing(['Usuario', unicode('Acción', 'utf-8').encode('utf-8')], rows) |
|---|
| 2067 | | print |
|---|
| 2068 | | - print 'Available actions:' |
|---|
| 2069 | | + print 'Acciones disponibles:' |
|---|
| 2070 | | actions = self._permsys.get_actions() |
|---|
| 2071 | | actions.sort() |
|---|
| 2072 | | text = ', '.join(actions) |
|---|
| 2073 | | @@ -486,7 +486,7 @@ |
|---|
| 2074 | | if not self._permsys: |
|---|
| 2075 | | self._permsys = PermissionSystem(self.env_open()) |
|---|
| 2076 | | if not action.islower() and not action.isupper(): |
|---|
| 2077 | | - print 'Group names must be in lower case and actions in upper case' |
|---|
| 2078 | | + print unicode('Los nombres de los grupos deben estar en minúsculas y las acciones en mayúsculas', 'utf-8').encode('utf-8') |
|---|
| 2079 | | return |
|---|
| 2080 | | self._permsys.grant_permission(user, action) |
|---|
| 2081 | | |
|---|
| 2082 | | @@ -509,72 +509,72 @@ |
|---|
| 2083 | | |
|---|
| 2084 | | ## Initenv |
|---|
| 2085 | | _help_initenv = [('initenv', |
|---|
| 2086 | | - 'Create and initialize a new environment interactively'), |
|---|
| 2087 | | - ('initenv <projectname> <db> <repostype> <repospath> <templatepath>', |
|---|
| 2088 | | - 'Create and initialize a new environment from arguments')] |
|---|
| 2089 | | + 'Crear e inicializar un nuevo entorno de manera interactiva'), |
|---|
| 2090 | | + ('initenv <nombre_proyecto> <db> <tipo_repositorio> <ruta_repositorio> <ruta_plantillas>', |
|---|
| 2091 | | + 'Crear e inicializar un nuevo entorno en base a los argumentos')] |
|---|
| 2092 | | |
|---|
| 2093 | | def do_initdb(self, line): |
|---|
| 2094 | | self.do_initenv(line) |
|---|
| 2095 | | |
|---|
| 2096 | | def get_initenv_args(self): |
|---|
| 2097 | | returnvals = [] |
|---|
| 2098 | | - print 'Creating a new Trac environment at %s' % self.envname |
|---|
| 2099 | | + print 'Creando un nuevo entorno Trac en %s' % self.envname |
|---|
| 2100 | | print |
|---|
| 2101 | | - print 'Trac will first ask a few questions about your environment ' |
|---|
| 2102 | | - print 'in order to initalize and prepare the project database.' |
|---|
| 2103 | | + print unicode('Trac primero realizará algunas preguntas acerca de tu entorno ', 'utf-8').encode('utf-8') |
|---|
| 2104 | | + print 'para poder inicializar y preparar la base de datos del proyecto.' |
|---|
| 2105 | | print |
|---|
| 2106 | | - print " Please enter the name of your project." |
|---|
| 2107 | | - print " This name will be used in page titles and descriptions." |
|---|
| 2108 | | + print " Por favor ingrese el nombre de su proyecto." |
|---|
| 2109 | | + print unicode(" Este nombre será utilizado en tÃtulos de páginas y descripciones.", 'utf-8').encode('utf-8') |
|---|
| 2110 | | print |
|---|
| 2111 | | - dp = 'My Project' |
|---|
| 2112 | | - returnvals.append(raw_input('Project Name [%s]> ' % dp).strip() or dp) |
|---|
| 2113 | | + dp = 'Mi Proyecto' |
|---|
| 2114 | | + returnvals.append(raw_input('Nombre del Proyecto [%s]> ' % dp).strip() or dp) |
|---|
| 2115 | | print |
|---|
| 2116 | | - print ' Please specify the connection string for the database to use.' |
|---|
| 2117 | | - print ' By default, a local SQLite database is created in the environment ' |
|---|
| 2118 | | - print ' directory. It is also possible to use an already existing ' |
|---|
| 2119 | | - print ' PostgreSQL database (check the Trac documentation for the exact ' |
|---|
| 2120 | | - print ' connection string syntax).' |
|---|
| 2121 | | + print unicode(' Por favor especifique la cadena de conexión para la base de datos a utilizar.', 'utf-8').encode('utf-8') |
|---|
| 2122 | | + print unicode(' Por defecto, se creará una base de datos local SQLite en el directorio ', 'utf-8').encode('utf-8') |
|---|
| 2123 | | + print unicode(' del entorno. También es posible utilizar una base de datos PostgreSQL ', 'utf-8').encode('utf-8') |
|---|
| 2124 | | + print unicode(' ya existente (revise la documentación de Trac para informarse acerca de la ', 'utf-8').encode('utf-8') |
|---|
| 2125 | | + print unicode(' sintaxis exacta de la cadena de conexión).', 'utf-8').encode('utf-8') |
|---|
| 2126 | | print |
|---|
| 2127 | | ddb = 'sqlite:db/trac.db' |
|---|
| 2128 | | - prompt = 'Database connection string [%s]> ' % ddb |
|---|
| 2129 | | + prompt = unicode('Cadena de conexión para la base de datos [%s]> ', 'utf-8').encode('utf-8') % ddb |
|---|
| 2130 | | returnvals.append(raw_input(prompt).strip() or ddb) |
|---|
| 2131 | | print |
|---|
| 2132 | | - print ' Please specify the type of version control system,' |
|---|
| 2133 | | - print ' By default, it will be svn.' |
|---|
| 2134 | | + print ' Por favor especifique el tipo de sistema de control de versiones,' |
|---|
| 2135 | | + print unicode(' Por defecto, será svn.', 'utf-8').encode('utf-8') |
|---|
| 2136 | | print |
|---|
| 2137 | | - print ' If you don\'t want to use Trac with version control integration, ' |
|---|
| 2138 | | - print ' choose the default here and don\'t specify a repository directory. ' |
|---|
| 2139 | | - print ' in the next question.' |
|---|
| 2140 | | + print unicode(' Si no desea utilizar Trac con integración a un sistema de control de versiones,', 'utf-8').encode('utf-8') |
|---|
| 2141 | | + print unicode(' escoja acá el valor por defecto y no especifique un directorio-repositorio ', 'utf-8').encode('utf-8') |
|---|
| 2142 | | + print ' en la siguiente pregunta.' |
|---|
| 2143 | | print |
|---|
| 2144 | | drpt = 'svn' |
|---|
| 2145 | | - prompt = 'Repository type [%s]> ' % drpt |
|---|
| 2146 | | + prompt = 'Tipo de repositorio [%s]> ' % drpt |
|---|
| 2147 | | returnvals.append(raw_input(prompt).strip() or drpt) |
|---|
| 2148 | | print |
|---|
| 2149 | | - print ' Please specify the absolute path to the version control ' |
|---|
| 2150 | | - print ' repository, or leave it blank to use Trac without a repository.' |
|---|
| 2151 | | - print ' You can also set the repository location later.' |
|---|
| 2152 | | + print ' Por favor especifique la ruta absoluta al repositorio de control de ' |
|---|
| 2153 | | + print ' versiones, o en su lugar, deje este campo en blanco para usar Trac sin un repositorio.' |
|---|
| 2154 | | + print unicode(' También será posible fijar la localización del repositorio más adelante.', 'utf-8').encode('utf-8') |
|---|
| 2155 | | print |
|---|
| 2156 | | - prompt = 'Path to repository [/path/to/repos]> ' |
|---|
| 2157 | | + prompt = 'Ruta al repositorio [/ruta/al/repositorio]> ' |
|---|
| 2158 | | returnvals.append(raw_input(prompt).strip()) |
|---|
| 2159 | | print |
|---|
| 2160 | | - print ' Please enter location of Trac page templates.' |
|---|
| 2161 | | - print ' Default is the location of the site-wide templates installed with Trac.' |
|---|
| 2162 | | + print unicode(' Por favor ingrese la localización de las plantillas de las páginas de Trac.', 'utf-8').encode('utf-8') |
|---|
| 2163 | | + print unicode(' Por defecto se escoge la localización de las plantillas ubicadas en la instalación de Trac.', 'utf-8').encode('utf-8') |
|---|
| 2164 | | print |
|---|
| 2165 | | dt = default_dir('templates') |
|---|
| 2166 | | - prompt = 'Templates directory [%s]> ' % dt |
|---|
| 2167 | | + prompt = 'Directorio de plantillas [%s]> ' % dt |
|---|
| 2168 | | returnvals.append(raw_input(prompt).strip() or dt) |
|---|
| 2169 | | print |
|---|
| 2170 | | return returnvals |
|---|
| 2171 | | |
|---|
| 2172 | | def do_initenv(self, line): |
|---|
| 2173 | | if self.env_check(): |
|---|
| 2174 | | - print "Initenv for '%s' failed." % self.envname |
|---|
| 2175 | | - print "Does an environment already exist?" |
|---|
| 2176 | | + print unicode("Falló initenv para '%s'.", 'utf-8').encode('utf-8') % self.envname |
|---|
| 2177 | | + print "ᅵSerᅵ posible que ya exista un entorno?" |
|---|
| 2178 | | return 2 |
|---|
| 2179 | | |
|---|
| 2180 | | if os.path.exists(self.envname) and os.listdir(self.envname): |
|---|
| 2181 | | - print "Initenv for '%s' failed." % self.envname |
|---|
| 2182 | | - print "Directory exists and is not empty." |
|---|
| 2183 | | + print unicode("Falló initenv para '%s'.", 'utf-8').encode('utf-8') % self.envname |
|---|
| 2184 | | + print unicode("El directorio existe y no está vacÃo.", 'utf-8').encode('utf-8') |
|---|
| 2185 | | return 2 |
|---|
| 2186 | | |
|---|
| 2187 | | arg = self.arg_tokenize(line) |
|---|
| 2188 | | @@ -587,20 +587,20 @@ |
|---|
| 2189 | | project_name, db_str, repository_type, repository_dir, \ |
|---|
| 2190 | | templates_dir = returnvals |
|---|
| 2191 | | elif len(arg) != 5: |
|---|
| 2192 | | - print 'Wrong number of arguments to initenv: %d' % len(arg) |
|---|
| 2193 | | + print unicode('Número incorrecto de argumentos para initenv: %d', 'utf-8').encode('utf-8') % len(arg) |
|---|
| 2194 | | return 2 |
|---|
| 2195 | | else: |
|---|
| 2196 | | project_name, db_str, repository_type, repository_dir, \ |
|---|
| 2197 | | templates_dir = arg[:5] |
|---|
| 2198 | | |
|---|
| 2199 | | if not os.access(os.path.join(templates_dir, 'header.cs'), os.F_OK): |
|---|
| 2200 | | - print templates_dir, "doesn't look like a Trac templates directory" |
|---|
| 2201 | | + print templates_dir, "no parece un directorio de plantillas Trac" |
|---|
| 2202 | | return 2 |
|---|
| 2203 | | if templates_dir == default_dir('templates'): |
|---|
| 2204 | | templates_dir = None # let the runtime default_dir() take over |
|---|
| 2205 | | |
|---|
| 2206 | | try: |
|---|
| 2207 | | - print 'Creating and Initializing Project' |
|---|
| 2208 | | + print 'Creando e Inicializando el Proyecto' |
|---|
| 2209 | | options = [ |
|---|
| 2210 | | ('trac', 'database', db_str), |
|---|
| 2211 | | ('trac', 'repository_type', repository_type), |
|---|
| 2212 | | @@ -612,12 +612,12 @@ |
|---|
| 2213 | | self.__env = Environment(self.envname, create=True, |
|---|
| 2214 | | options=options) |
|---|
| 2215 | | except Exception, e: |
|---|
| 2216 | | - print 'Failed to create environment.', e |
|---|
| 2217 | | + print unicode('Falló la creación del entorno.', 'utf-8').encode('utf-8'), e |
|---|
| 2218 | | traceback.print_exc() |
|---|
| 2219 | | sys.exit(1) |
|---|
| 2220 | | |
|---|
| 2221 | | # Add a few default wiki pages |
|---|
| 2222 | | - print ' Installing default wiki pages' |
|---|
| 2223 | | + print unicode(' Instalando páginas por defecto del wiki', 'utf-8').encode('utf-8') |
|---|
| 2224 | | cnx = self.__env.get_db_cnx() |
|---|
| 2225 | | cursor = cnx.cursor() |
|---|
| 2226 | | self._do_wiki_load(default_dir('wiki'), cursor) |
|---|
| 2227 | | @@ -627,50 +627,50 @@ |
|---|
| 2228 | | try: |
|---|
| 2229 | | repos = self.__env.get_repository() |
|---|
| 2230 | | if repos: |
|---|
| 2231 | | - print ' Indexing repository' |
|---|
| 2232 | | + print ' Indexando el repositorio' |
|---|
| 2233 | | self._resync(repos) |
|---|
| 2234 | | except TracError, e: |
|---|
| 2235 | | - print>>sys.stderr, "\nWarning:\n" |
|---|
| 2236 | | + print>>sys.stderr, "\nAdvertencia:\n" |
|---|
| 2237 | | if repository_type == "svn": |
|---|
| 2238 | | - print>>sys.stderr, "You should install the SVN bindings" |
|---|
| 2239 | | + print>>sys.stderr, unicode("DeberÃa instalar las librerÃas SVN para Python", 'utf-8').encode('utf-8') |
|---|
| 2240 | | else: |
|---|
| 2241 | | - print>>sys.stderr, "Repository type %s not supported" \ |
|---|
| 2242 | | + print>>sys.stderr, "El tipo de repositorio %s no es soportado" \ |
|---|
| 2243 | | % repository_type |
|---|
| 2244 | | except Exception, e: |
|---|
| 2245 | | - print 'Failed to initialize environment.', e |
|---|
| 2246 | | + print unicode('Falló la inicialización del entorno.', 'utf-8').encode('utf-8'), e |
|---|
| 2247 | | traceback.print_exc() |
|---|
| 2248 | | return 2 |
|---|
| 2249 | | |
|---|
| 2250 | | - print """ |
|---|
| 2251 | | + print unicode(""" |
|---|
| 2252 | | --------------------------------------------------------------------- |
|---|
| 2253 | | -Project environment for '%(project_name)s' created. |
|---|
| 2254 | | +El entorno del proyecto para '%(project_name)s' fué creado. |
|---|
| 2255 | | |
|---|
| 2256 | | -You may now configure the environment by editing the file: |
|---|
| 2257 | | +Ahora puedes realizar la configuración del entorno editando el archivo: |
|---|
| 2258 | | |
|---|
| 2259 | | %(config_path)s |
|---|
| 2260 | | |
|---|
| 2261 | | -If you'd like to take this new project environment for a test drive, |
|---|
| 2262 | | -try running the Trac standalone web server `tracd`: |
|---|
| 2263 | | +Si quieres efectuar una prueba de este nuevo entorno-proyecto, |
|---|
| 2264 | | +prueba ejecutar el servidor web `tracd`: |
|---|
| 2265 | | |
|---|
| 2266 | | tracd --port 8000 %(project_path)s |
|---|
| 2267 | | |
|---|
| 2268 | | -Then point your browser to http://localhost:8000/%(project_dir)s. |
|---|
| 2269 | | -There you can also browse the documentation for your installed |
|---|
| 2270 | | -version of Trac, including information on further setup (such as |
|---|
| 2271 | | -deploying Trac to a real web server). |
|---|
| 2272 | | +Luego dirige tu navegador hacia http://localhost:8000/%(project_dir)s. |
|---|
| 2273 | | +Allá también podrás encontrar la documentación para la versión de Trac |
|---|
| 2274 | | +que tienes instalada, incluyendo información acerca de configuración adicional |
|---|
| 2275 | | +(como el desplegar Trac en un verdadero servidor web). |
|---|
| 2276 | | |
|---|
| 2277 | | -The latest documentation can also always be found on the project |
|---|
| 2278 | | -website: |
|---|
| 2279 | | +La documentación más actual siempre estará disponible en el |
|---|
| 2280 | | +sitio web del proyecto: |
|---|
| 2281 | | |
|---|
| 2282 | | http://trac.edgewall.org/ |
|---|
| 2283 | | |
|---|
| 2284 | | -Congratulations! |
|---|
| 2285 | | -""" % dict(project_name=project_name, project_path=self.envname, |
|---|
| 2286 | | +Felicitaciones! |
|---|
| 2287 | | +""", 'utf-8').encode('utf-8') % dict(project_name=project_name, project_path=self.envname, |
|---|
| 2288 | | project_dir=os.path.basename(self.envname), |
|---|
| 2289 | | config_path=os.path.join(self.envname, 'conf', 'trac.ini')) |
|---|
| 2290 | | |
|---|
| 2291 | | - _help_resync = [('resync', 'Re-synchronize trac with the repository'), |
|---|
| 2292 | | - ('resync <rev>', 'Re-synchronize only the given <rev>')] |
|---|
| 2293 | | + _help_resync = [('resync', 'Re-sincronizar trac con el repositorio'), |
|---|
| 2294 | | + ('resync <revisión>', unicode('Re-sincronizar sólo la <revisión> dada', 'utf-8').encode('utf-8'))] |
|---|
| 2295 | | |
|---|
| 2296 | | def _resync(self, repos): |
|---|
| 2297 | | if hasattr(repos, 'sync'): # introduced "officially" in 0.10.4 |
|---|
| 2298 | | @@ -689,10 +689,10 @@ |
|---|
| 2299 | | rev = argv[0] |
|---|
| 2300 | | if rev: |
|---|
| 2301 | | env.get_repository().sync_changeset(rev) |
|---|
| 2302 | | - print '%s resynced.' % rev |
|---|
| 2303 | | + print '%s resincronizado.' % rev |
|---|
| 2304 | | return |
|---|
| 2305 | | from trac.versioncontrol.cache import CACHE_METADATA_KEYS |
|---|
| 2306 | | - print 'Resyncing repository history... ' |
|---|
| 2307 | | + print 'Resincronizando el historial del repositorio... ' |
|---|
| 2308 | | cnx = self.db_open() |
|---|
| 2309 | | cursor = cnx.cursor() |
|---|
| 2310 | | cursor.execute("DELETE FROM revision") |
|---|
| 2311 | | @@ -705,22 +705,22 @@ |
|---|
| 2312 | | repos = self._resync(env.get_repository()) |
|---|
| 2313 | | cursor.execute("SELECT count(rev) FROM revision") |
|---|
| 2314 | | for cnt, in cursor: |
|---|
| 2315 | | - print cnt, 'revisions cached.', |
|---|
| 2316 | | - print 'Done.' |
|---|
| 2317 | | + print cnt, 'revisiones cacheadas.', |
|---|
| 2318 | | + print 'Terminado.' |
|---|
| 2319 | | |
|---|
| 2320 | | ## Wiki |
|---|
| 2321 | | - _help_wiki = [('wiki list', 'List wiki pages'), |
|---|
| 2322 | | - ('wiki remove <name>', 'Remove wiki page'), |
|---|
| 2323 | | - ('wiki export <page> [file]', |
|---|
| 2324 | | - 'Export wiki page to file or stdout'), |
|---|
| 2325 | | - ('wiki import <page> [file]', |
|---|
| 2326 | | - 'Import wiki page from file or stdin'), |
|---|
| 2327 | | - ('wiki dump <directory>', |
|---|
| 2328 | | - 'Export all wiki pages to files named by title'), |
|---|
| 2329 | | - ('wiki load <directory>', |
|---|
| 2330 | | - 'Import all wiki pages from directory'), |
|---|
| 2331 | | + _help_wiki = [('wiki list', unicode('Listar las páginas del wiki', 'utf-8').encode('utf-8')), |
|---|
| 2332 | | + ('wiki remove <nombre>', unicode('Eliminar una página del wiki', 'utf-8').encode('utf-8')), |
|---|
| 2333 | | + (unicode('wiki export <página> [archivo]', 'utf-8').encode('utf-8'), |
|---|
| 2334 | | + unicode('Exportar una página del wiki a un archivo ó a la salida estándar', 'utf-8').encode('utf-8')), |
|---|
| 2335 | | + (unicode('wiki import <página> [archivo]', 'utf-8').encode('utf-8'), |
|---|
| 2336 | | + unicode('Importar una página del wiki de un archivo ó de la entrada estándar', 'utf-8').encode('utf-8')), |
|---|
| 2337 | | + ('wiki dump <directorio>', |
|---|
| 2338 | | + unicode('Exportar todas las páginas del wiki hacia archivos, nombrando los archivos de acuerdo al tÃtulo de cada página', 'utf-8').encode('utf-8')), |
|---|
| 2339 | | + ('wiki load <directorio>', |
|---|
| 2340 | | + unicode('Importar todas las páginas del wiki de un directorio', 'utf-8').encode('utf-8')), |
|---|
| 2341 | | ('wiki upgrade', |
|---|
| 2342 | | - 'Upgrade default wiki pages to current version')] |
|---|
| 2343 | | + unicode('Actualizar las páginas por defecto del wiki a la versión actual', 'utf-8').encode('utf-8'))] |
|---|
| 2344 | | |
|---|
| 2345 | | def complete_wiki(self, text, line, begidx, endidx): |
|---|
| 2346 | | argv = self.arg_tokenize(line) |
|---|
| 2347 | | @@ -773,7 +773,7 @@ |
|---|
| 2348 | | def _do_wiki_list(self): |
|---|
| 2349 | | rows = self.db_query("SELECT name, max(version), max(time) " |
|---|
| 2350 | | "FROM wiki GROUP BY name ORDER BY name") |
|---|
| 2351 | | - self.print_listing(['Title', 'Edits', 'Modified'], |
|---|
| 2352 | | + self.print_listing([unicode('TÃtulo', 'utf-8').encode('utf-8'), 'Ediciones', 'Modificado'], |
|---|
| 2353 | | [(r[0], int(r[1]), self._format_datetime(r[2])) |
|---|
| 2354 | | for r in rows]) |
|---|
| 2355 | | |
|---|
| 2356 | | @@ -784,7 +784,7 @@ |
|---|
| 2357 | | def _do_wiki_import(self, filename, title, cursor=None, |
|---|
| 2358 | | create_only=[]): |
|---|
| 2359 | | if not os.path.isfile(filename): |
|---|
| 2360 | | - raise Exception, '%s is not a file' % filename |
|---|
| 2361 | | + raise Exception, '%s no es un archivo' % filename |
|---|
| 2362 | | |
|---|
| 2363 | | f = open(filename,'r') |
|---|
| 2364 | | data = to_unicode(f.read(), 'utf-8') |
|---|
| 2365 | | @@ -795,10 +795,10 @@ |
|---|
| 2366 | | params=(title,)) |
|---|
| 2367 | | old = list(rows) |
|---|
| 2368 | | if old and title in create_only: |
|---|
| 2369 | | - print ' %s already exists.' % title |
|---|
| 2370 | | + print ' %s ya existe.' % title |
|---|
| 2371 | | return |
|---|
| 2372 | | if old and data == old[0][0]: |
|---|
| 2373 | | - print ' %s already up to date.' % title |
|---|
| 2374 | | + print unicode(' %s ya está actualizado.', 'utf-8').encode('utf-8') % title |
|---|
| 2375 | | return |
|---|
| 2376 | | f.close() |
|---|
| 2377 | | |
|---|
| 2378 | | @@ -816,7 +816,7 @@ |
|---|
| 2379 | | print text |
|---|
| 2380 | | else: |
|---|
| 2381 | | if os.path.isfile(filename): |
|---|
| 2382 | | - raise Exception("File '%s' exists" % filename) |
|---|
| 2383 | | + raise Exception("El archivo '%s' ya existe" % filename) |
|---|
| 2384 | | f = open(filename,'w') |
|---|
| 2385 | | f.write(text.encode('utf-8')) |
|---|
| 2386 | | f.close() |
|---|
| 2387 | | @@ -839,7 +839,7 @@ |
|---|
| 2388 | | self._do_wiki_import(filename, page, cursor, create_only) |
|---|
| 2389 | | |
|---|
| 2390 | | ## Ticket |
|---|
| 2391 | | - _help_ticket = [('ticket remove <number>', 'Remove ticket')] |
|---|
| 2392 | | + _help_ticket = [(unicode('ticket remove <número>', 'utf-8').encode('utf-8'), 'Eliminar un ticket')] |
|---|
| 2393 | | |
|---|
| 2394 | | def complete_ticket(self, text, line, begidx, endidx): |
|---|
| 2395 | | argv = self.arg_tokenize(line) |
|---|
| 2396 | | @@ -857,7 +857,7 @@ |
|---|
| 2397 | | try: |
|---|
| 2398 | | number = int(arg[1]) |
|---|
| 2399 | | except ValueError: |
|---|
| 2400 | | - print>>sys.stderr, "<number> must be a number" |
|---|
| 2401 | | + print>>sys.stderr, unicode("<número> debe ser un número", 'utf-8').encode('utf-8') |
|---|
| 2402 | | return |
|---|
| 2403 | | self._do_ticket_remove(number) |
|---|
| 2404 | | else: |
|---|
| 2405 | | @@ -866,17 +866,17 @@ |
|---|
| 2406 | | def _do_ticket_remove(self, number): |
|---|
| 2407 | | ticket = Ticket(self.env_open(), number) |
|---|
| 2408 | | ticket.delete() |
|---|
| 2409 | | - print "Ticket %d and all associated data removed." % number |
|---|
| 2410 | | + print "El ticket %d y todos los datos asociados fueron eliminados." % number |
|---|
| 2411 | | |
|---|
| 2412 | | |
|---|
| 2413 | | ## (Ticket) Type |
|---|
| 2414 | | - _help_ticket_type = [('ticket_type list', 'Show possible ticket types'), |
|---|
| 2415 | | - ('ticket_type add <value>', 'Add a ticket type'), |
|---|
| 2416 | | - ('ticket_type change <value> <newvalue>', |
|---|
| 2417 | | - 'Change a ticket type'), |
|---|
| 2418 | | - ('ticket_type remove <value>', 'Remove a ticket type'), |
|---|
| 2419 | | - ('ticket_type order <value> up|down', |
|---|
| 2420 | | - 'Move a ticket type up or down in the list')] |
|---|
| 2421 | | + _help_ticket_type = [('ticket_type list', 'Mostrar los posibles tipos de tickets'), |
|---|
| 2422 | | + ('ticket_type add <value>', unicode('Añadir un nuevo tipo de ticket', 'utf-8').encode('utf-8')), |
|---|
| 2423 | | + ('ticket_type change <valor> <nuevo_valor>', |
|---|
| 2424 | | + 'Modificar un tipo de ticket'), |
|---|
| 2425 | | + ('ticket_type remove <valor>', 'Eliminar un tipo de ticket'), |
|---|
| 2426 | | + ('ticket_type order <valor> up|down', |
|---|
| 2427 | | + unicode('Mover un tipo de ticket arriba ó abajo en la lista', 'utf-8').encode('utf-8'))] |
|---|
| 2428 | | |
|---|
| 2429 | | def complete_ticket_type (self, text, line, begidx, endidx): |
|---|
| 2430 | | if begidx == 16: |
|---|
| 2431 | | @@ -889,13 +889,13 @@ |
|---|
| 2432 | | self._do_enum('ticket_type', line) |
|---|
| 2433 | | |
|---|
| 2434 | | ## (Ticket) Priority |
|---|
| 2435 | | - _help_priority = [('priority list', 'Show possible ticket priorities'), |
|---|
| 2436 | | - ('priority add <value>', 'Add a priority value option'), |
|---|
| 2437 | | - ('priority change <value> <newvalue>', |
|---|
| 2438 | | - 'Change a priority value'), |
|---|
| 2439 | | - ('priority remove <value>', 'Remove priority value'), |
|---|
| 2440 | | - ('priority order <value> up|down', |
|---|
| 2441 | | - 'Move a priority value up or down in the list')] |
|---|
| 2442 | | + _help_priority = [('priority list', 'Mostrar las posibles prioridades de un ticket'), |
|---|
| 2443 | | + ('priority add <valor>', unicode('Añadir una opción a los valores de prioridad', 'utf-8').encode('utf-8')), |
|---|
| 2444 | | + ('priority change <valor> <nuevo_valor>', |
|---|
| 2445 | | + 'Modificar un valor de prioridad'), |
|---|
| 2446 | | + ('priority remove <valor>', 'Eliminar un valor de prioridad'), |
|---|
| 2447 | | + ('priority order <valor> up|down', |
|---|
| 2448 | | + unicode('Mover un valor de prioridad arriba ó abajo en la lista', 'utf-8').encode('utf-8'))] |
|---|
| 2449 | | |
|---|
| 2450 | | def complete_priority (self, text, line, begidx, endidx): |
|---|
| 2451 | | if begidx == 16: |
|---|
| 2452 | | @@ -908,13 +908,13 @@ |
|---|
| 2453 | | self._do_enum('priority', line) |
|---|
| 2454 | | |
|---|
| 2455 | | ## (Ticket) Severity |
|---|
| 2456 | | - _help_severity = [('severity list', 'Show possible ticket severities'), |
|---|
| 2457 | | - ('severity add <value>', 'Add a severity value option'), |
|---|
| 2458 | | - ('severity change <value> <newvalue>', |
|---|
| 2459 | | - 'Change a severity value'), |
|---|
| 2460 | | - ('severity remove <value>', 'Remove severity value'), |
|---|
| 2461 | | - ('severity order <value> up|down', |
|---|
| 2462 | | - 'Move a severity value up or down in the list')] |
|---|
| 2463 | | + _help_severity = [('severity list', 'Mostrar las posibles severidades de un ticket'), |
|---|
| 2464 | | + ('severity add <valor>', unicode('Añadir una opción a los valores de severidad', 'utf-8').encode('utf-8')), |
|---|
| 2465 | | + ('severity change <valor> <nuevo_valor>', |
|---|
| 2466 | | + 'Modificar un valor de severidad'), |
|---|
| 2467 | | + ('severity remove <valor>', 'Eliminar un valor de severidad'), |
|---|
| 2468 | | + ('severity order <valor> up|down', |
|---|
| 2469 | | + unicode('Mover un valor de severidad arriba ó abajo en la lista', 'utf-8').encode('utf-8'))] |
|---|
| 2470 | | |
|---|
| 2471 | | def complete_severity (self, text, line, begidx, endidx): |
|---|
| 2472 | | if begidx == 16: |
|---|
| 2473 | | @@ -957,7 +957,7 @@ |
|---|
| 2474 | | |
|---|
| 2475 | | def _do_enum_list(self, type): |
|---|
| 2476 | | enum_cls = self._enum_map[type] |
|---|
| 2477 | | - self.print_listing(['Possible Values'], |
|---|
| 2478 | | + self.print_listing(['Valores Posibles'], |
|---|
| 2479 | | [(e.name,) for e in enum_cls.select(self.env_open())]) |
|---|
| 2480 | | |
|---|
| 2481 | | def _do_enum_add(self, type, name): |
|---|
| 2482 | | @@ -997,17 +997,17 @@ |
|---|
| 2483 | | |
|---|
| 2484 | | ## Milestone |
|---|
| 2485 | | |
|---|
| 2486 | | - _help_milestone = [('milestone list', 'Show milestones'), |
|---|
| 2487 | | - ('milestone add <name> [due]', 'Add milestone'), |
|---|
| 2488 | | - ('milestone rename <name> <newname>', |
|---|
| 2489 | | - 'Rename milestone'), |
|---|
| 2490 | | - ('milestone due <name> <due>', |
|---|
| 2491 | | - 'Set milestone due date (Format: "%s" or "now")' |
|---|
| 2492 | | + _help_milestone = [('milestone list', 'Mostrar hitos'), |
|---|
| 2493 | | + ('milestone add <nombre> [vencimiento]', unicode('Añadir hito', 'utf-8').encode('utf-8')), |
|---|
| 2494 | | + ('milestone rename <nombre> <nuevo_nombre>', |
|---|
| 2495 | | + 'Renombrar un hito'), |
|---|
| 2496 | | + ('milestone due <nombre> <vencimiento>', |
|---|
| 2497 | | + unicode('Fijar la fecha de vencimiento de un hito (Formato: "%s" ó "now")', 'utf-8').encode('utf-8') |
|---|
| 2498 | | % _date_format_hint), |
|---|
| 2499 | | - ('milestone completed <name> <completed>', |
|---|
| 2500 | | - 'Set milestone completed date (Format: "%s" or "now")' |
|---|
| 2501 | | + (unicode('milestone completed <nombre> <conclusión>', 'utf-8').encode('utf-8'), |
|---|
| 2502 | | + unicode('Fijar la fecha de conclusión de un hito (Formato: "%s" ó "now")', 'utf-8').encode('utf-8') |
|---|
| 2503 | | % _date_format_hint), |
|---|
| 2504 | | - ('milestone remove <name>', 'Remove milestone')] |
|---|
| 2505 | | + ('milestone remove <nombre>', 'Eliminar hito')] |
|---|
| 2506 | | |
|---|
| 2507 | | def complete_milestone (self, text, line, begidx, endidx): |
|---|
| 2508 | | if begidx in (15, 17): |
|---|
| 2509 | | @@ -1041,7 +1041,7 @@ |
|---|
| 2510 | | data.append((m.name, m.due and self._format_date(m.due), |
|---|
| 2511 | | m.completed and self._format_datetime(m.completed))) |
|---|
| 2512 | | |
|---|
| 2513 | | - self.print_listing(['Name', 'Due', 'Completed'], data) |
|---|
| 2514 | | + self.print_listing(['Nombre', 'Vencimiento', unicode('Conclusión', 'utf-8').encode('utf-8')], data) |
|---|
| 2515 | | |
|---|
| 2516 | | def _do_milestone_rename(self, name, newname): |
|---|
| 2517 | | milestone = Milestone(self.env_open(), name) |
|---|
| 2518 | | @@ -1068,14 +1068,14 @@ |
|---|
| 2519 | | milestone.update() |
|---|
| 2520 | | |
|---|
| 2521 | | ## Version |
|---|
| 2522 | | - _help_version = [('version list', 'Show versions'), |
|---|
| 2523 | | - ('version add <name> [time]', 'Add version'), |
|---|
| 2524 | | - ('version rename <name> <newname>', |
|---|
| 2525 | | - 'Rename version'), |
|---|
| 2526 | | - ('version time <name> <time>', |
|---|
| 2527 | | - 'Set version date (Format: "%s" or "now")' |
|---|
| 2528 | | + _help_version = [('version list', 'Mostrar versiones'), |
|---|
| 2529 | | + ('version add <nombre> [fecha]', unicode('Añadir versión', 'utf-8').encode('utf-8')), |
|---|
| 2530 | | + ('version rename <nombre> <nuevo_nombre>', |
|---|
| 2531 | | + unicode('Renombrar una versión', 'utf-8').encode('utf-8')), |
|---|
| 2532 | | + ('version time <nombre> <fecha>', |
|---|
| 2533 | | + unicode('Fijar la fecha de una versión (Formato: "%s" ó "now")', 'utf-8').encode('utf-8') |
|---|
| 2534 | | % _date_format_hint), |
|---|
| 2535 | | - ('version remove <name>', 'Remove version')] |
|---|
| 2536 | | + ('version remove <nombre>', unicode('Eliminar una versión', 'utf-8').encode('utf-8'))] |
|---|
| 2537 | | |
|---|
| 2538 | | def complete_version (self, text, line, begidx, endidx): |
|---|
| 2539 | | if begidx in (13, 15): |
|---|
| 2540 | | @@ -1105,7 +1105,7 @@ |
|---|
| 2541 | | data = [] |
|---|
| 2542 | | for v in Version.select(self.env_open()): |
|---|
| 2543 | | data.append((v.name, v.time and self._format_date(v.time))) |
|---|
| 2544 | | - self.print_listing(['Name', 'Time'], data) |
|---|
| 2545 | | + self.print_listing(['Nombre', 'Fecha'], data) |
|---|
| 2546 | | |
|---|
| 2547 | | def _do_version_rename(self, name, newname): |
|---|
| 2548 | | version = Version(self.env_open(), name) |
|---|
| 2549 | | @@ -1126,7 +1126,7 @@ |
|---|
| 2550 | | version.time = self._parse_date(t) |
|---|
| 2551 | | version.update() |
|---|
| 2552 | | |
|---|
| 2553 | | - _help_upgrade = [('upgrade', 'Upgrade database to current version')] |
|---|
| 2554 | | + _help_upgrade = [('upgrade', unicode('Actualizar la base de datos a la versión actual', 'utf-8').encode('utf-8'))] |
|---|
| 2555 | | def do_upgrade(self, line): |
|---|
| 2556 | | arg = self.arg_tokenize(line) |
|---|
| 2557 | | do_backup = True |
|---|
| 2558 | | @@ -1135,7 +1135,7 @@ |
|---|
| 2559 | | self.db_open() |
|---|
| 2560 | | |
|---|
| 2561 | | if not self.__env.needs_upgrade(): |
|---|
| 2562 | | - print "Database is up to date, no upgrade necessary." |
|---|
| 2563 | | + print unicode("La base de datos ya está actualizada, no es necesario actualizarla nuevamente.", 'utf-8').encode('utf-8') |
|---|
| 2564 | | return |
|---|
| 2565 | | |
|---|
| 2566 | | try: |
|---|
| 2567 | | @@ -1143,14 +1143,14 @@ |
|---|
| 2568 | | except EnvironmentError, e: |
|---|
| 2569 | | msg = unicode(e) |
|---|
| 2570 | | if 'backup' in msg: |
|---|
| 2571 | | - raise TracError("Backup failed '%s'.\nUse `--no-backup' to " |
|---|
| 2572 | | - "upgrade without doing a backup." % msg) |
|---|
| 2573 | | + raise TracError(unicode("Falló la copia de seguridad '%s'.\nUtilice `--no-backup' para " |
|---|
| 2574 | | + "actualizar sin realizar una copia de seguridad.", 'utf-8').encode('utf-8') % msg) |
|---|
| 2575 | | else: |
|---|
| 2576 | | raise |
|---|
| 2577 | | - print 'Upgrade done.' |
|---|
| 2578 | | + print unicode('Actualización terminada.', 'utf-8').encode('utf-8') |
|---|
| 2579 | | |
|---|
| 2580 | | - _help_hotcopy = [('hotcopy <backupdir>', |
|---|
| 2581 | | - 'Make a hot backup copy of an environment')] |
|---|
| 2582 | | + _help_hotcopy = [('hotcopy <dir_copia_seguridad>', |
|---|
| 2583 | | + "Realizar una copia de seguridad 'caliente' de un entorno")] |
|---|
| 2584 | | def do_hotcopy(self, line): |
|---|
| 2585 | | arg = self.arg_tokenize(line) |
|---|
| 2586 | | if arg[0]: |
|---|
| 2587 | | @@ -1165,7 +1165,7 @@ |
|---|
| 2588 | | cursor.execute("UPDATE system SET name=NULL WHERE name IS NULL") |
|---|
| 2589 | | |
|---|
| 2590 | | try: |
|---|
| 2591 | | - print 'Hotcopying %s to %s ...' % (self.__env.path, dest), |
|---|
| 2592 | | + print "Copiando en 'caliente' %s en %s ..." % (self.__env.path, dest), |
|---|
| 2593 | | db_str = self.__env.config.get('trac', 'database') |
|---|
| 2594 | | prefix, db_path = db_str.split(':', 1) |
|---|
| 2595 | | if prefix == 'sqlite': |
|---|
| 2596 | | @@ -1200,7 +1200,7 @@ |
|---|
| 2597 | | arg = content.split(' ', 1)[0] |
|---|
| 2598 | | doc = getattr(TracAdmin, '_help_' + arg) |
|---|
| 2599 | | except AttributeError: |
|---|
| 2600 | | - raise TracError('Unknown trac-admin command "%s"' % content) |
|---|
| 2601 | | + raise TracError('Comando trac-admin "%s" desconocido' % content) |
|---|
| 2602 | | if arg != content: |
|---|
| 2603 | | for cmd, help in doc: |
|---|
| 2604 | | if cmd.startswith(content): |
|---|
| 2605 | | Index: trac/scripts/tests/admin.py |
|---|
| 2606 | | =================================================================== |
|---|
| 2607 | | --- trac/scripts/tests/admin.py (revision 5935) |
|---|
| 2608 | | +++ trac/scripts/tests/admin.py (working copy) |
|---|
| 2609 | | @@ -185,7 +185,7 @@ |
|---|
| 2610 | | self.assertEqual(0, rv) |
|---|
| 2611 | | self.assertEqual(self.expected_results[test_name], output) |
|---|
| 2612 | | except SkipTest, e: |
|---|
| 2613 | | - print>>sys.stderr, 'Skipping test %s: %s' % (test_name, e) |
|---|
| 2614 | | + print>>sys.stderr, 'Omitiendo el test %s: %s' % (test_name, e) |
|---|
| 2615 | | |
|---|
| 2616 | | def test_permission_add_one_action_ok(self): |
|---|
| 2617 | | """ |
|---|
| 2618 | | @@ -200,7 +200,7 @@ |
|---|
| 2619 | | self.assertEqual(0, rv) |
|---|
| 2620 | | self.assertEqual(self.expected_results[test_name], output) |
|---|
| 2621 | | except SkipTest, e: |
|---|
| 2622 | | - print>>sys.stderr, 'Skipping test %s: %s' % (test_name, e) |
|---|
| 2623 | | + print>>sys.stderr, 'Omitiendo el test %s: %s' % (test_name, e) |
|---|
| 2624 | | |
|---|
| 2625 | | def test_permission_add_multiple_actions_ok(self): |
|---|
| 2626 | | """ |
|---|
| 2627 | | @@ -215,7 +215,7 @@ |
|---|
| 2628 | | self.assertEqual(0, rv) |
|---|
| 2629 | | self.assertEqual(self.expected_results[test_name], output) |
|---|
| 2630 | | except SkipTest, e: |
|---|
| 2631 | | - print>>sys.stderr, 'Skipping test %s: %s' % (test_name, e) |
|---|
| 2632 | | + print>>sys.stderr, 'Omitiendo el test %s: %s' % (test_name, e) |
|---|
| 2633 | | |
|---|
| 2634 | | def test_permission_remove_one_action_ok(self): |
|---|
| 2635 | | """ |
|---|
| 2636 | | @@ -230,7 +230,7 @@ |
|---|
| 2637 | | self.assertEqual(0, rv) |
|---|
| 2638 | | self.assertEqual(self.expected_results[test_name], output) |
|---|
| 2639 | | except SkipTest, e: |
|---|
| 2640 | | - print>>sys.stderr, 'Skipping test %s: %s' % (test_name, e) |
|---|
| 2641 | | + print>>sys.stderr, 'Omitiendo el test %s: %s' % (test_name, e) |
|---|
| 2642 | | |
|---|
| 2643 | | def test_permission_remove_multiple_actions_ok(self): |
|---|
| 2644 | | """ |
|---|
| 2645 | | @@ -246,7 +246,7 @@ |
|---|
| 2646 | | self.assertEqual(0, rv) |
|---|
| 2647 | | self.assertEqual(self.expected_results[test_name], output) |
|---|
| 2648 | | except SkipTest, e: |
|---|
| 2649 | | - print>>sys.stderr, 'Skipping test %s: %s' % (test_name, e) |
|---|
| 2650 | | + print>>sys.stderr, 'Omitiendo el test %s: %s' % (test_name, e) |
|---|
| 2651 | | |
|---|
| 2652 | | # Component tests |
|---|
| 2653 | | |
|---|