Index: trunk/www/areas/l10n/teams/es/ayuda_contexto.php =================================================================== --- trunk/www/areas/l10n/teams/es/ayuda_contexto.php (revision 1568321) +++ trunk/www/areas/l10n/teams/es/ayuda_contexto.php (revision 1568322) @@ -1,344 +1,341 @@

En muchas ocasiones, la traducción de los mensajes compuestos por una única palabra (o por muy pocas palabras) resulta ambigua. Por ejemplo, el mensaje:

   Open documents
 

Este mensaje se puede traducir de dos formas: Abrir documentos (si pensamos que se trata de una acción), o bien, Documentos abiertos (si creemos que hace referencia al número de documentos abiertos por una aplicación).

¿Cuál de ellas es la traducción correcta? Si estamos traduciendo un programa que pertenece a la rama estable del repositorio de KDE (/branches/stable), tenemos la posibilidad de lanzar dicho programa y buscar el mensaje en cuestión en su interfaz. Pero si el archivo que estamos traduciendo pertenece a la rama /trunk tendremos que echar mano de otras aproximaciones para salir de dudas. En el peor de los casos tendremos que disponer del código fuente del programa, pero esta no es una opción recomendable, especialmente si no tenemos los conocimientos necesarios.

Por fortuna, normalmente disponemos de opciones más indicadas para resolver este tipo de dudas.

Mensajes de ayuda de contexto

En muchas ocasiones, el programador ha sido lo suficientemente cuidadoso como para incluir información de contexto que ayude al traductor a decidir cómo debe traducir ciertos mensajes problemáticos. El programa Lokalize muestra esta información de contexto en un panel destinado a tal fin. Por ejemplo, en el ejemplo anterior (perteneciente al programa Kate), podemos observar lo siguiente:

Imagen de Lokalize mostrando información de contexto sobre un mensaje ambiguo

Ahora queda claro el significado del mensaje, por lo que podemos optar por la traducción correcta sin ningún tipo de dudas: Documentos abiertos.

El fragmento de archivo PO que contiene el ejemplo anterior sería el siguiente:

   #: app/katesession.cpp:640 app/katesession.cpp:759 app/katesession.cpp:836
   msgctxt "The number of open documents"
   msgid "Open Documents"
   msgstr "Documentos abiertos"
 

Etiquetas semánticas

Otra fuente de ambigüedad en muchos mensajes son los parámetros (%1, %2, etc.). Aunque a veces son obvios (como en el caso de los plurales, donde el parámetro %1 siempre se refiere al elemento que motiva el uso de la cadena en plural), otras no lo son.

Por fortuna, el programador puede usar etiquetas semánticas de texto enriquecido en los parámetros de una cadena de texto. Por ejemplo:

   <filename>%1</filename> selected
 

En este caso nos está indicando que el parámetro %1 hace referencia a un nombre de archivo. Sin dicha marca, ¿selected se traduce como seleccionado, o como seleccionada? Con esta pequeña ayuda por parte del programador, la traducción correcta del ejemplo anterior sería:

   <filename>%1</filename> seleccionado
 

Este tipo de etiquetas semánticas no se usan únicamente para identificar parámetros. También se pueden usar para marcar determinadas palabras, frases o incluso párrafos. A continuación se listan las diversas etiquetas semánticas que se pueden usar:

- - + + - - - - - - - - - - - - + + - - + + - - + + - - + + - - + +
Categoría Descripción Etiqueta Uso
Etiquetas de frases Proporcionan significado a frases o a partes de ellas. <application> Identifica el nombre de una aplicación (su contenido no se traduce).
<bcode> Encierra un bloque de código fuente con saltos de línea (normalmente, su contenido no se traduce).
<command> Identifica una orden de la consola (su contenido no se traduce).
<email> Identifica una dirección de correo electrónico (su contenido no se traduce, excepto cuando la dirección de correo electrónico se incluye usando el atributo url).
<emphasis> Encierra texto que se debe mostrar de forma destacada.
<envar> Identifica una variable de entorno (su contenido no se traduce).
<filename> Identifica un nombre de archivo, directorio o ruta completa (su contenido no se traduce).
<icode> Encierra un trozo de código fuente sin saltos de línea (su contenido no se traduce).
<interface> Identifica un elemento de la interfaz gráfica de usuario.
<link> Identifica un enlace a un recurso (su contenido no se traduce, excepto cuando la URL del enlace se incluye usando el atributo url).
<message> Hace referencia a un mensaje externo a mostrar al usuario.
<nl> Salto de línea (normalmente aparece en forma abreviada como <nl/>).
<numid>Identificador numérico (como un número de puerto).<note>Encierra una sentencia que consiste en una nota adicional de importancia para el tema + tratado en la frase.
<placeholder> Encierra un texto a sustituir por parte del usuario.
<resource>Hace referencia a un recurso con nombre (como un documento, una sesión, un proyecto, un - complemento, una cuenta, etc.).
<shortcut> Una combinación de teclas o pulsaciones.
Etiquetas de sentenciasDescriben el propósito de una sentencia u oración completa.<note>Encierra una sentencia que consiste en una nota adicional de importancia para el tema - tratado en la frase.
<warning> Encierra una sentencia que consiste en una advertencia sobre el tema tratado en la frase.
Etiquetas de estructuras Se usan para ordenar textos largos en títulos, párrafos, etc.<para>Encierra un párrafo de texto.<item>Encierra un elemento de una lista.
<title>Encierra el título de un texto.<list>Delimita una lista de elementos.
<subtitle>Encierra un subtítulo de un texto.<para>Encierra un párrafo de texto.
<list>Delimita una lista de elementos.<subtitle>Encierra un subtítulo de un texto.
<item>Encierra un elemento de una lista.<title>Encierra el título de un texto.

Marcadores de contexto

Normalmente, los mensajes de contexto aclaratorios introducidos por el programador suelen ser suficientes para optar por una u otra traducción. Pero en otras ocasiones nos interesa saber si el mensaje que estamos traduciendo se muestra en un determinado elemento de la interfaz de usuario (por ejemplo, en un botón o en un menú), o si, por el contrario, se muestra en otro lugar (por ejemplo, como texto de un mensaje de error).

Para este propósito, el programador puede usar los marcadores de contexto, que contienen el papel semántico y el lugar de la interfaz gráfica donde aparece el mensaje, con la forma @papel:lugar. El papel es obligatorio, pero el lugar es opcional.

El programa Lokalize muestra esta información de contexto de la siguiente forma:

Imagen de Lokalize mostrando marcadores de contexto sobre un mensaje

El fragmento de archivo PO que contiene el ejemplo anterior sería el siguiente:

   #: settings/viewmodes/columnviewsettingspage.cpp:73
   #: settings/viewmodes/iconsviewsettingspage.cpp:85
   msgctxt "@item:inlistbox Text width"
   msgid "Small"
   msgstr "Pequeña"
 

Están disponibles los siguientes marcadores de contexto:

- - + - - + + + + + + + + + - - + +
Papel Descripción Lugar Uso
@action Texto de todos los elementos gráficos que se pueden pulsar y que produce una acción. :button Botones de ventanas y diálogos.
:inmenu Entradas de menú que realizan una acción.
:intoolbar Botones de barras de herramientas.
@title Texto que sirve de título en la interfaz gráfica de usuario. :window Título de ventana.
:menu Nombre de menú.
:tab Nombre de pestaña.
:group Grupo de opciones.
:column Nombre de columna.
:row Nombre de fila.
@option Etiqueta de texto de opciones que se pueden activar y desactivar, o de entre las que se puede elegir una. :check Etiqueta de casilla de verificación.
:radio Etiqueta de botón de opción.
@label Etiqueta de elemento gráfico que no es @action, @title ni @option. :slider Etiquetas de deslizadores.
:spinbox Etiquetas de cuadros giratorios.
:listbox Listas y cajas combinadas.
:textbox Texto y campos de edición.
:chooser Elementos gráficos de selección (tipos de letra, colores, etc.).
@itemTextos que se pueden considerar como una de entre diversas posibilidades + @itemTextos que se pueden considerar como una de entre diversas posibilidades o propiedades. :inmenu Elementos mostrados como entradas de menú.
:inlistbox Elementos de listas y cajas combinadas.
:intable Elementos mostrados en formularios de tipo tabla.
:inrange Etiquetas de intervalos para deslizadores, etc.
:intext Palabras y frases insertadas en otros mensajes.
@infoTextos generales para mostrar información al usuario que no pertenecen + :valuesuffixSufijo añadido a un valor, incluyendo cualquier espacio (como en un spinbox).
@infoTextos generales para mostrar información al usuario que no pertenecen a ninguna de las categorías anteriores. :tooltip Ayudas emergentes.
:whatsthis Explicaciones ¿Qué es esto? para elementos gráficos.
:placeholderUna sugerencia sobre lo que se debe introducir en un campo de entrada. Se muestra en lugar del texto a introducir cuando todavía no existe uno.
:status Textos de paneles de estado (como la barra de estado).
:progress Estado actual de un proceso en curso.
:tipofthedayConsejos introductorios sobre aplicaciones.:usagetipConsejo que informa al usuario sobre ciertas posibilidades en un determinado contexto (como un consejo del día durante el inicio de una aplicación).
:credit Nombres de colaboradores y trabajo que han realizado.
:shell Información de salida por el terminal.

Recursos

Gran parte del contenido de esta página está sacado de la página de semántica de i18n de KDE TechBase.

Index: trunk/www/areas/l10n/teams/es/fechas.php =================================================================== --- trunk/www/areas/l10n/teams/es/fechas.php (revision 1568321) +++ trunk/www/areas/l10n/teams/es/fechas.php (revision 1568322) @@ -1,624 +1,624 @@ $name\n" . "\n"; } function date_endSection() { echo "
\n"; } function date_putHeader($name) { echo " \n" . " $name\n" . " \n" . " \n" . " Fecha\n" . " Situación\n" . " \n"; } function date_putSpacer() { echo " \n" . " \n" . " \n"; } function date_putDateElement($lth, $str) { if($lth) echo ""; if($str[0] == "-") echo substr($str, 1); else echo $str; if($lth) echo ""; } function date_putLine($bborder) { if($bborder) echo " style=\"border-bottom: 2px solid #418ade;\""; else echo " style=\"border-bottom: 1px solid #418ade;\""; } function is_before_today($d2) { $d1 = date('d_m_Y'); $a1 = explode('_', $d1); $a2 = explode('_', $d2); $a1 = array_reverse($a1); $a2 = array_reverse($a2); $st1 = strtotime(implode('/', $a1)); $st2 = strtotime(implode('/', $a2)); if($st1 > $st2) return true; return false; } function translate_date($d) { $isneg = ($d[0] == "-"); if($isneg) $d = substr($d, 1); $d = str_replace("_01_", " de enero de ", $d); $d = str_replace("_02_", " de febrero de ", $d); $d = str_replace("_03_", " de marzo de ", $d); $d = str_replace("_04_", " de abril de ", $d); $d = str_replace("_05_", " de mayo de ", $d); $d = str_replace("_06_", " de junio de ", $d); $d = str_replace("_07_", " de julio de ", $d); $d = str_replace("_08_", " de agosto de ", $d); $d = str_replace("_09_", " de septiembre de ", $d); $d = str_replace("_10_", " de octubre de ", $d); $d = str_replace("_11_", " de noviembre de ", $d); $d = str_replace("_12_", " de diciembre de ", $d); if($d[0] == "0") $d = substr($d, 1); if($isneg) $d = "-" . $d; return $d; } function date_putDateBlock($strdates, $strobs) { $dates = explode("/", $strdates); $obs = explode("/", $strobs); $i = 0; $cdates = count($dates); foreach($dates as $strdate) { if($strdate[0] != "(") { if($strdate[0] != "-") { if(is_before_today($strdate)) $strdate = "-" . $strdate; } $strdate = translate_date($strdate); } $bottomborder = ($i+1) == $cdates; $lth = false; if($strdate[0] == "-") { $lth = true; } echo " \n" . " "; date_putDateElement($lth, $strdate); echo "\n" . " "; date_putDateElement($lth, $obs[$i]); echo "\n" . " \n"; ++$i; } } function date_putDates($date1 = "", $obs1 = "", $date2 = "", $obs2 = "") { if(empty($date1)) $date1 = "(sin confirmar)"; if(empty($date2)) $date2 = "(sin confirmar)"; if(empty($obs1)) $obs1 = "Congelación de mensajes"; if(empty($obs2)) $obs2 = "Etiquetado"; date_putDateBlock($date1, $obs1); date_putDateBlock($date2, $obs2); } /**** TABLA DE FECHAS ****/ date_beginSection("Release service"); date_putHeader("Release service $repository_applications_stable.x (branches/stable/l10n-kf5)"); date_putDates( // fechas de congelación - '14_11_2019', + '19_03_2020', // mensajes de congelación 'Congelación de mensajes', // fechas de etiquetado - '14_11_2019/'. - '28_11_2019/'. - '05_12_2019/'. - '06_01_2020/'. - '03_02_2020/'. - '02_03_2020', + '19_03_2020/'. + '02_04_2020/'. + '16_04_2020/'. + '11_05_2020/'. + '08_06_2020/'. + '06_07_2020', // mensajes de etiquetado "Etiquetado de Release service $repository_applications_stable Beta/". "Etiquetado de Release service $repository_applications_stable RC/". "Etiquetado de Release service $repository_applications_stable/". "Etiquetado de Release service $repository_applications_stable.1/". "Etiquetado de Release service $repository_applications_stable.2/". "Etiquetado de Release service $repository_applications_stable.3" ); - date_putSpacer(); +/* date_putSpacer(); date_putHeader("Release service $repository_applications_trunk (trunk/l10n-kf5)"); date_putDates( // fechas de congelación '19_03_2020', // mensajes de congelación 'Congelación de mensajes', // fechas de etiquetado '19_03_2020/'. '02_04_2020/'. '16_04_2020/'. '11_05_2020/'. '08_06_2020/'. '06_07_2020', // mensajes de etiquetado "Etiquetado de Release service $repository_applications_trunk Beta/". "Etiquetado de Release service $repository_applications_trunk RC/". "Etiquetado de Release service $repository_applications_trunk/". "Etiquetado de Release service $repository_applications_trunk.1/". "Etiquetado de Release service $repository_applications_trunk.2/". "Etiquetado de Release service $repository_applications_trunk.3" ); - +*/ date_endSection(); // Release service date_beginSection("Plasma"); /* date_putHeader("Plasma $repository_plasma_stable_lts.x LTS (branches/stable/l10n-kf5-plasma-lts)"); date_putDates( // fechas de congelación '15_01_2018', // mensajes de congelación '', // fechas de etiquetado '15_01_2018/'. '01_02_2018/'. '13_02_2018/'. '20_02_2018/'. '06_03_2018/'. '27_03_2018/'. '01_05_2018/'. '27_06_2018/'. '25_09_2018/'. '05_03_2019/'. '10_09_2019', // mensajes de etiquetado "Etiquetado de Plasma $repository_plasma_stable_lts Beta LTS/". "Etiquetado de Plasma $repository_plasma_stable_lts.0 LTS/". "Etiquetado de Plasma $repository_plasma_stable_lts.1 LTS/". "Etiquetado de Plasma $repository_plasma_stable_lts.2 LTS/". "Etiquetado de Plasma $repository_plasma_stable_lts.3 LTS/". "Etiquetado de Plasma $repository_plasma_stable_lts.4 LTS/". "Etiquetado de Plasma $repository_plasma_stable_lts.5 LTS/". "Etiquetado de Plasma $repository_plasma_stable_lts.6 LTS/". "Etiquetado de Plasma $repository_plasma_stable_lts.7 LTS/". "Etiquetado de Plasma $repository_plasma_stable_lts.8 LTS/". "Etiquetado de Plasma $repository_plasma_stable_lts.9 LTS" ); date_putSpacer();*/ date_putHeader("Plasma $repository_plasma_stable (branches/stable/l10n-kf5)"); date_putDates( // fechas de congelación '16_01_2020', // mensajes de congelación '', // fechas de etiquetado '16_01_2020/'. '06_02_2020/'. '18_02_2020/'. '25_02_2020/'. '10_03_2020/'. '31_03_2020/'. '05_05_2020', // mensajes de etiquetado "Etiquetado de Plasma $repository_plasma_stable Beta/". "Etiquetado de Plasma $repository_plasma_stable.0/". "Etiquetado de Plasma $repository_plasma_stable.1/". "Etiquetado de Plasma $repository_plasma_stable.2/". "Etiquetado de Plasma $repository_plasma_stable.3/". "Etiquetado de Plasma $repository_plasma_stable.4/". "Etiquetado de Plasma $repository_plasma_stable.5" ); date_putSpacer(); date_putHeader("Plasma $repository_plasma_trunk (trunk/l10n-kf5)"); date_putDates( // fechas de congelación '14_05_2020', // mensajes de congelación '', // fechas de etiquetado '14_05_2020/'. '04_06_2020/'. '16_06_2020/'. '23_06_2020/'. '07_07_2020/'. '28_07_2020/'. '01_08_2020', // mensajes de etiquetado "Etiquetado de Plasma $repository_plasma_trunk Beta/". "Etiquetado de Plasma $repository_plasma_trunk.0/". "Etiquetado de Plasma $repository_plasma_trunk.1/". "Etiquetado de Plasma $repository_plasma_trunk.2/". "Etiquetado de Plasma $repository_plasma_trunk.3/". "Etiquetado de Plasma $repository_plasma_trunk.4/". "Etiquetado de Plasma $repository_plasma_trunk.5" ); date_endSection(); // Plasma date_beginSection("KDE Frameworks"); date_putHeader("KDE Frameworks $repository_frameworks_trunk (trunk/l10n-kf5)"); date_putDates( // fechas de congelación '(2 semanas antes de cada etiquetado)', // mensajes de congelación '', // fechas de etiquetado '01_07_2014/'. '02_08_2014/'. '06_09_2014/'. '04_10_2014/'. '01_11_2014/'. '06_12_2014/'. '03_01_2015/'. '07_02_2015/'. '07_03_2015/'. '04_04_2015/'. '02_05_2015/'. '06_06_2015/'. '04_07_2015/'. '01_08_2015/'. '05_09_2015/'. '03_10_2015/'. '07_11_2015/'. '05_12_2015/'. '02_01_2016/'. '06_02_2016/'. '05_03_2016/'. '05_04_2016/'. '07_05_2016/'. '06_06_2016/'. '03_07_2016/'. '07_08_2016/'. '06_09_2016/'. '02_10_2016/'. '05_11_2016/'. '03_12_2016/'. '08_01_2017/'. '05_02_2017/'. '04_03_2017/'. '01_04_2017/'. '06_05_2017/'. '03_06_2017/'. '03_07_2017/'. '06_08_2017/'. '03_09_2017/'. '07_10_2017/'. '05_11_2017/'. '02_12_2017/'. '07_01_2018/'. '05_02_2018/'. '03_03_2018/'. '07_04_2018/'. '05_05_2018/'. '02_06_2018/'. '08_07_2018/'. '04_08_2018/'. '02_09_2018/'. '06_10_2018/'. '03_11_2018/'. '01_12_2018/'. '06_01_2019/'. '04_02_2019/'. '02_03_2019/'. '07_04_2019/'. '07_05_2019/'. '01_06_2019/'. '07_07_2019/'. '03_08_2019/'. '07_09_2019/'. '05_10_2019/'. '02_11_2019/'. '07_12_2019/'. '04_01_2020/'. '01_02_2020/'. '07_03_2020/'. '04_04_2020/'. '02_05_2020/'. '06_06_2020/'. '04_07_2020/'. '01_08_2020/'. '05_09_2020/'. '03_10_2020/'. '07_11_2020/'. '05_12_2020', // mensajes de etiquetado "Etiquetado de KDE Frameworks $repository_frameworks_trunk.0/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.1/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.2/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.3/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.4/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.5/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.6/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.7/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.8/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.9/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.10/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.11/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.12/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.13/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.14/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.15/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.16/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.17/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.18/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.19/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.20/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.21/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.22/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.23/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.24/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.25/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.26/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.27/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.28/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.29/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.30/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.31/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.32/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.33/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.34/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.35/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.36/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.37/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.38/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.39/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.40/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.41/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.42/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.43/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.44/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.45/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.46/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.47/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.48/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.49/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.50/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.51/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.52/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.53/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.54/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.55/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.56/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.57/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.58/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.59/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.60/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.61/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.62/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.63/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.64/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.65/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.66/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.67/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.68/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.69/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.70/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.71/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.72/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.73/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.74/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.75/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.76/". "Etiquetado de KDE Frameworks $repository_frameworks_trunk.77" ); date_endSection(); // KDE Frameworks /*date_beginSection("Calligra"); date_putHeader("Calligra $repository_calligra_stable.x (branches/stable/l10n-kf5)"); date_putDates( // fechas de congelación '(siempre congelado)', // mensajes de congelación '', // fechas de etiquetado '05_12_2016/'. '20_12_2016/'. '20_03_2017', // mensajes de etiquetado "Etiquetado de Calligra $repository_calligra_stable.0/". "Etiquetado de Calligra $repository_calligra_stable.0.1/". "Etiquetado de Calligra $repository_calligra_stable.1" ); date_putSpacer(); date_putHeader("Calligra $repository_calligra_trunk (trunk/l10n-kf5)"); date_putDates( // fechas de congelación '(siempre sin congelar)', // mensajes de congelación '', // fechas de etiquetado '01_02_2018'. '(sin decidir)/'. '(sin decidir)/'. '(sin decidir)/'. '(sin decidir)', // mensajes de etiquetado "Etiquetado de Calligra $repository_calligra_trunk.0/". "Etiquetado de Calligra $repository_calligra_trunk.1/". "Etiquetado de Calligra $repository_calligra_trunk.2/". "Etiquetado de Calligra $repository_calligra_trunk.3/". "Etiquetado de Calligra $repository_calligra_trunk.4" ); date_endSection(); // Calligra date_beginSection("Krita"); date_putHeader("Krita $repository_krita_stable.x (branches/stable/l10n-kf5)"); date_putDates( // fechas de congelación '(siempre congelado)', // mensajes de congelación '11_01_2018', // mensajes de congelación '', // fechas de etiquetado '11_01_2018/'. '22_03_2018/'. '11_04_2018/'. '10_05_2018/'. '12_05_2018/'. '(...)', // mensajes de etiquetado "Etiquetado de Krita $repository_krita_trunk.0 Beta 1/". "Etiquetado de Krita $repository_krita_trunk.0/". "Etiquetado de Krita $repository_krita_trunk.1/". "Etiquetado de Krita $repository_krita_trunk.2/". "Etiquetado de Krita $repository_krita_trunk.3/". "..." ); date_putSpacer(); date_putHeader("Krita $repository_krita_trunk (trunk/l10n-kf5)"); date_putDates( // fechas de congelación '11_01_2018', // mensajes de congelación '', // fechas de etiquetado '11_01_2018/'. '(sin decidir)/'. '(sin decidir)/'. '(...)', // mensajes de etiquetado "Etiquetado de Krita $repository_krita_trunk.0 Beta 1/". "Etiquetado de Krita $repository_krita_trunk.0/". "Etiquetado de Krita $repository_krita_trunk.1/". "..." ); date_endSection(); // Krita */ ?>

Observaciones

En general, hay dos fechas importantes para los traductores:

En general suelen mediar de 15 a 20 días entre la congelación de cadenas de texto y el etiquetado de una nueva versión. Deberemos aprovechar estos días para terminar las traducciones pendientes y revisar las ya existentes.

Todas las fechas que aparecen en esta página están sacadas de la página de lanzamientos de KDE y de la página de lanzamientos de Calligra.

Index: trunk/www/areas/l10n/teams/es/site.inc =================================================================== --- trunk/www/areas/l10n/teams/es/site.inc (revision 1568321) +++ trunk/www/areas/l10n/teams/es/site.inc (revision 1568322) @@ -1,27 +1,27 @@