<?xml version="1.0" encoding="UTF-8"?>

<!--
   
   Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

   
   $Id$

   @translators Salvador Cobrero <salvador_cobrero_jimenez at dmr-consulting dot com>
   
-->

<catalogue xml:lang="es">

  <message key="default.createdoc.idtaken">El ID introducido ya existe. Por favor, escoja otro.</message>
 
  <message key="Create new language version">Crear nueva version de idioma</message>
  <message key="New language for existing Document">Nuevo idioma para el Documento existente</message>
  <message key="default.createdoc.info.all-language-versions-exists">Ya existen versiones de este documento para todos los idiomas.</message>

</catalogue>

