Actualiza el código con personalizaciones

Archivos que se modifican para personalizar su funcionamiento según los
requerimientos de SuitePro.
This commit is contained in:
Manuel Cillero 2020-12-02 20:03:09 +01:00
parent bb4beba114
commit 7750f183e7
12 changed files with 326 additions and 66 deletions

View file

@ -44,6 +44,8 @@ class WikiController < ApplicationController
helper :watchers
include Redmine::Export::PDF
include ActionView::Helpers::SanitizeHelper
# List of pages, sorted alphabetically and by parent (hierarchy)
def index
load_pages_for_index
@ -109,7 +111,7 @@ class WikiController < ApplicationController
send_data(export, :type => 'text/html', :filename => filename_for_content_disposition("#{@page.title}.html"))
return
elsif params[:format] == 'txt'
send_data(@content.text, :type => 'text/plain', :filename => filename_for_content_disposition("#{@page.title}.txt"))
send_data(strip_tags(@content.text), :type => 'text/plain', :filename => filename_for_content_disposition("#{@page.title}.txt"))
return
end
end

View file

@ -18,11 +18,14 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
module SearchHelper
include ActionView::Helpers::SanitizeHelper
def highlight_tokens(text, tokens)
return text unless text && tokens && !tokens.empty?
re_tokens = tokens.collect {|t| Regexp.escape(t)}
regexp = Regexp.new "(#{re_tokens.join('|')})", Regexp::IGNORECASE
result = +''
text = strip_tags(text)
text.split(regexp).each_with_index do |words, i|
if result.length > 1200
# maximum length of the preview reached

View file

@ -1,6 +1,7 @@
<%= call_hook :view_account_login_top %>
<div id="login-form">
<h2><%= l(:label_login) %></h2>
<%= form_tag(signin_path, onsubmit: 'return keepAnchorOnSignIn(this);') do %>
<%= back_url_hidden_field_tag %>

View file

@ -16,9 +16,7 @@
:rev => changeset.identifier) %>)
<% end %></p>
<div class="wiki changeset-comments">
<%= format_changeset_comments changeset %>
</div>
<div class="wiki changeset-comments"><%= format_changeset_comments changeset %></div>
</div>
<%= call_hook(:view_issues_history_changeset_bottom, { :changeset => changeset }) %>
<% end %>

View file

@ -2,22 +2,27 @@
<html lang="<%= current_language %>">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title><%= html_title %></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<meta name="description" content="<%= Redmine::Info.app_name %>" />
<meta name="keywords" content="issue,bug,tracker" />
<%= csrf_meta_tag %>
<%= favicon %>
<%= stylesheet_link_tag 'jquery/jquery-ui-1.11.0', 'tribute-3.7.3', 'application', 'responsive', :media => 'all' %>
<%= stylesheet_link_tag 'jquery/jquery-ui-1.11.0', 'cookieconsent.min', 'tribute-3.7.3', 'application', 'responsive', :media => 'all' %>
<%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %>
<% is_welcome = !User.current.logged? && current_page?(:controller => 'welcome', :action => 'index') %>
<%= stylesheet_link_tag 'frontpage', :media => 'all' if is_welcome %>
<%= javascript_heads %>
<script src="/themes/circlepro/javascripts/cookieconsent.min.js"></script>
<%= heads_for_theme %>
<%= call_hook :view_layouts_base_html_head %>
<!-- page specific tags -->
<%= yield :header_tags -%>
</head>
<body class="<%= body_css_classes %>">
<body class="<%= body_css_classes %><%= ' is-preload' if is_welcome %>">
<%= call_hook :view_layouts_base_body_top %>
<div id="wrapper">
@ -60,20 +65,32 @@
<div id="wrapper2">
<div id="wrapper3">
<div id="top-menu">
<div id="wrapper-top-menu">
<ul class="social-menu">
<li class="social-link-blog"><a href="https://manuel.cillero.es" title="<%= l(:link_my_blog) %>" class="icon-blog"><span><%= l(:link_my_blog) %></span></a></li>
<li class="social-link-twitter"><a href="https://twitter.com/manuelcillero" title="Twitter" target="_blank" class="icon-twitter"><span>Twitter</span></a></li>
<li class="social-link-facebook"><a href="https://facebook.com/manuelcillero" title="Facebook" target="_blank" class="icon-facebook"><span>Facebook</span></a></li>
<li class="social-link-linkedin"><a href="https://es.linkedin.com/in/manuelcillero" title="Linkedin" target="_blank" class="icon-linkedin"><span>Linkedin</span></a></li>
<li class="social-link-gitlab"><a href="https://gitlab.com/manuelcillero" title="Gitlab" target="_blank" class="icon-gitlab"><span>Gitlab</span></a></li>
<li class="social-link-mail"><a href="https://manuel.cillero.es/contacto/#suitepro" title="Mail" class="icon-mail"><span>Mail</span></a></li>
</ul>
<div id="account">
<%= render_menu :account_menu -%>
</div>
<%= content_tag('div', "#{l(:label_logged_as)} #{link_to_user(User.current, :format => :username)}".html_safe, :id => 'loggedas') if User.current.logged? %>
<%= render_menu :top_menu if User.current.logged? || !Setting.login_required? -%>
</div>
</div>
<div id="header">
<a href="#" class="mobile-toggle-button js-flyout-menu-toggle-button"></a>
<div id="wrapper-header">
<% if User.current.logged? || !Setting.login_required? %>
<div id="quick-search">
<div id="quick-search" class="hide-when-print">
<%= form_tag({:controller => 'search', :action => 'index', :id => @project}, :method => :get ) do %>
<%= hidden_field_tag 'scope', default_search_project_scope, :id => nil %>
<%= hidden_field_tag(controller.default_search_scope, 1, :id => nil) if controller.default_search_scope %>
@ -91,15 +108,18 @@
<% end %>
<h1><%= page_header_title %></h1>
</div>
<% if display_main_menu?(@project) %>
<div id="main-menu" class="tabs">
<div id="wrapper-main-menu">
<%= render_main_menu(@project) %>
<div class="tabs-buttons" style="display:none;">
<button class="tab-left" onclick="moveTabLeft(this); return false;"></button>
<button class="tab-right" onclick="moveTabRight(this); return false;"></button>
</div>
</div>
</div>
<% end %>
</div>
@ -116,16 +136,55 @@
<div style="clear:both;"></div>
</div>
</div>
<div id="footer">
Powered by <%= link_to Redmine::Info.app_name, Redmine::Info.url %> &copy; 2006-2020 Jean-Philippe Lang
</div>
</div>
</div> <!-- #wrapper3 -->
<a href="#" id="scrollup" class="hide-when-print" style="display: none;"><%=l(:label_sort_higher)%></a><%= javascript_tag "$('#scrollup').click(function(){$('html,body').animate({scrollTop:0},600);return false;});" %>
<div id="ajax-indicator" style="display:none;"><span><%= l(:label_loading) %></span></div>
<div id="ajax-modal" style="display:none;"></div>
<div id="footer">
<div id="wrapper-footer">
<ul class="social-menu">
<li class="social-link-blog"><a href="https://manuel.cillero.es" title="<%= l(:link_my_blog) %>" class="icon-blog"><span><%= l(:link_my_blog) %></span></a></li>
<li class="social-link-twitter"><a href="https://twitter.com/manuelcillero" title="Twitter" target="_blank" class="icon-twitter"><span>Twitter</span></a></li>
<li class="social-link-facebook"><a href="https://facebook.com/manuelcillero" title="Facebook" target="_blank" class="icon-facebook"><span>Facebook</span></a></li>
<li class="social-link-linkedin"><a href="https://es.linkedin.com/in/manuelcillero" title="Linkedin" target="_blank" class="icon-linkedin"><span>Linkedin</span></a></li>
<li class="social-link-gitlab"><a href="https://gitlab.com/manuelcillero" title="Gitlab" target="_blank" class="icon-gitlab"><span>Gitlab</span></a></li>
<li class="social-link-mail"><a href="https://manuel.cillero.es/contacto/#suitepro" title="Mail" class="icon-mail"><span>Mail</span></a></li>
</ul>
<div class="bgl"><div class="bgr">
<%= Time.current.year %> &copy; SuitePro (powered by <%= link_to Redmine::Info.app_name, Redmine::Info.url %>)
<div id="legal">
<span class="legal-legal"><a href="/projects/suitepro/wiki/Legal"><%= l(:label_legal) %></a></span>
<span class="legal-terms"> &nbsp;|&nbsp; <a href="/projects/suitepro/wiki/Condiciones_de_uso"><%= l(:label_legal_terms) %></a></span>
<span class="legal-privacy"> &nbsp;|&nbsp; <a href="/projects/suitepro/wiki/Política_de_privacidad"><%= l(:label_legal_privacy) %></a></span>
<span class="legal-cookies"> &nbsp;|&nbsp; <a href="/projects/suitepro/wiki/Política_de_cookies"><%= l(:label_legal_cookies) %></a></span>
</div>
</div></div>
</div>
</div>
</div> <!-- #wrapper2 -->
</div> <!-- #wrapper -->
<%= call_hook :view_layouts_base_body_bottom %>
<script>
//<![CDATA[
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": { "popup": { "background": "rgba(20,20,20,0.8)" }, "button": { "background": "#fff" } },
"theme": "classic",
"position": "bottom-left",
"content": { "message": "<a href='https://suitepro.cillero.es'>SuitePro</a> requiere el uso de cookies para ofrecer la mejor experiencia de acceso a sus contenidos. Puedes aceptar su uso o abandonar la página si lo deseas.", "dismiss": "ACEPTO SU USO", "link": "Más información", "href": "/projects/suitepro/wiki/Pol%C3%ADtica_de_cookies", "target": "_self" }
})});
//]]>
</script>
</body>
</html>

View file

@ -33,9 +33,7 @@
</div>
<div class="wiki changeset-comments">
<%= format_changeset_comments @changeset %>
</div>
<div class="wiki changeset-comments"><%= format_changeset_comments @changeset %></div>
<% if @changeset.issues.visible.any? || User.current.allowed_to?(:manage_related_issues, @repository.project) %>
<%= render :partial => 'related_issues' %>

View file

@ -61,7 +61,8 @@
<%= render(:partial => "wiki/content", :locals => {:content => @content}) %>
<fieldset class="collapsible collapsed hide-when-print">
<% if @page.attachments.length > 0 || (@editable && authorize_for('wiki', 'add_attachment')) %>
<fieldset class="collapsible collapsed<% if @page.attachments.length == 0 %> hide-when-print<% end %>">
<legend onclick="toggleFieldset(this);" class="icon icon-collapsed"><%= l(:label_attachment_plural) %> (<%= @page.attachments.length %>)</legend>
<div style="display: none;">
@ -81,6 +82,7 @@
<% end %>
</div>
</fieldset>
<% end %>
<p class="wiki-update-info">
<% if User.current.allowed_to?(:view_wiki_edits, @project) %>

View file

@ -1284,3 +1284,11 @@ en:
text_project_is_public_non_member: Public projects and their contents are available to all logged-in users.
text_project_is_public_anonymous: Public projects and their contents are openly available on the network.
label_import_time_entries: Import time entries
link_my_blog: My Blog
label_legal: Legal notice
label_legal_terms: Terms of use
label_legal_privacy: Privacy policy
label_legal_cookies: Cookies policy

View file

@ -507,7 +507,7 @@ es:
label_loading: Cargando...
label_logged_as: Conectado como
label_login: Iniciar sesión
label_logout: Terminar sesión
label_logout: Cerrar sesión
label_max_size: Tamaño máximo
label_me: yo mismo
label_member: Miembro
@ -546,7 +546,7 @@ es:
label_optional_description: Descripción opcional
label_options: Opciones
label_overall_activity: Actividad global
label_overview: Vistazo
label_overview: Resumen
label_password_lost: ¿Olvidaste la contraseña?
label_permissions: Permisos
label_permissions_report: Informe de permisos
@ -1216,7 +1216,7 @@ es:
mail_body_security_notification_notify_disabled: Se han desactivado las notificaciones para el correo electrónico %{value}
mail_body_settings_updated: ! 'Las siguientes opciones han sido actualizadas:'
field_remote_ip: Dirección IP
label_wiki_page_new: Nueva pagina wiki
label_wiki_page_new: Nueva página
label_relations: Relaciones
button_filter: Filtro
mail_body_password_updated: Su contraseña se ha cambiado.
@ -1232,7 +1232,7 @@ es:
label_font_monospace: Fuente Monospaced
label_font_proportional: Fuente Proportional
setting_timespan_format: Time span format
label_table_of_contents: Table of contents
label_table_of_contents: Tabla de contenidos
setting_commit_logs_formatting: Apply text formatting to commit messages
setting_mail_handler_enable_regex: Enable regular expressions
error_move_of_child_not_possible: 'Subtask %{child} could not be moved to the new
@ -1261,10 +1261,10 @@ es:
setting_time_entry_list_defaults: Timelog list defaults
setting_timelog_accept_0_hours: Accept time logs with 0 hours
setting_timelog_max_hours_per_day: Maximum hours that can be logged per day and user
label_x_revisions: "%{count} revisions"
label_x_revisions: "Revisiones: %{count}"
error_can_not_delete_auth_source: This authentication mode is in use and cannot be
deleted.
button_actions: Actions
button_actions: Acciones
mail_body_lost_password_validity: Please be aware that you may change the password
only once using this link.
text_login_required_html: When not requiring authentication, public projects and their
@ -1315,11 +1315,11 @@ es:
label_import_notifications: Send email notifications during the import
text_gs_available: ImageMagick PDF support available (optional)
field_recently_used_projects: Number of recently used projects in jump box
label_optgroup_bookmarks: Bookmarks
label_optgroup_others: Other projects
label_optgroup_recents: Recently used
button_project_bookmark: Add bookmark
button_project_bookmark_delete: Remove bookmark
label_optgroup_bookmarks: Marcadores
label_optgroup_others: Otros proyectos
label_optgroup_recents: Accesos recientes
button_project_bookmark: Añadir marcador
button_project_bookmark_delete: Quitar marcador
field_history_default_tab: Issue's history default tab
label_issue_history_properties: Property changes
label_issue_history_notes: Notes
@ -1341,3 +1341,11 @@ es:
label_display_type_board: Board
label_my_bookmarks: My bookmarks
label_import_time_entries: Import time entries
link_my_blog: Mi blog personal
label_legal: Aviso legal
label_legal_terms: Condiciones de uso
label_legal_privacy: Política de privacidad
label_legal_cookies: Uso de cookies

View file

@ -26,20 +26,22 @@
= call_hook :view_welcome_show_actions_dropdown
h2 = welcome_overview_name @dashboard
- if User.current.logged?
= call_hook :view_welcome_index_top
h2 = welcome_overview_name @dashboard
= render partial: 'common/dashboard', locals: { dashboard: @dashboard }
= call_hook :view_welcome_index_top
= call_hook :view_welcome_index_bottom
= render partial: 'common/dashboard', locals: { dashboard: @dashboard }
- if @dashboard_sidebar
= call_hook :view_welcome_index_bottom
- if @dashboard_sidebar
- content_for :sidebar do
= render partial: 'sidebar'
= call_hook :view_welcome_show_sidebar_bottom
- content_for :header_tags do
- content_for :header_tags do
= auto_discovery_link_tag :atom,
{ controller: 'news',
action: 'index',
@ -52,3 +54,120 @@ h2 = welcome_overview_name @dashboard
key: User.current.rss_key,
format: 'atom' },
title: "#{Setting.app_title}: #{l :label_activity}"
- else
div id="fp"
= text_field_tag 'forcetop', nil, :style => 'display: none;'
<!-- Banner -->
section id="fp-banner"
div class="inner"
h2 SuitePro
p #{l :welcome_suitepro}
ul class="actions special"
li
<a href="#fp-login" class="button primary scrolly">#{l :label_login}</a>
<a href="#one" class="more scrolly">#{l :welcome_discover}</a>
<!-- One -->
section id="one" class="frapper style1 special"
div class="inner"
header class="major"
h2 A SIMPLE WAY TO GET WORK DONE&nbsp;&nbsp;;)
p #{raw l :welcome_suitepro_is_redmine, :suitepro => '<strong>SuitePro</strong>', :redmine => '<a href="https://www.redmine.org"><strong>Redmine</strong></a>'}
ul class="icons major"
<li><span class="fp-icon fp-icon_1 major style1"><span class="label">Ruby</span></span></li>
<li><span class="fp-icon fp-icon_2 major style2"><span class="label">Project</span></span></li>
<li><span class="fp-icon fp-icon_3 major style3"><span class="label">Workflow</span></span></li>
<!-- Two -->
section id="two" class="frapper alt style2"
section class="spotlight"
div class="image"
= image_tag '/themes/circlepro/images/pic01.jpg'
div class="content"
h2 #{raw l :welcome_spotlight_1_title}
p #{l :welcome_spotlight_1_text}
section class="spotlight"
div class="image"
= image_tag '/themes/circlepro/images/pic02.jpg'
div class="content"
h2 #{raw l :welcome_spotlight_2_title}
p #{l :welcome_spotlight_2_text}
section class="spotlight"
div class="image"
= image_tag '/themes/circlepro/images/pic03.jpg'
div class="content"
h2 #{raw l :welcome_spotlight_3_title}
p #{l :welcome_spotlight_3_text}
<!-- Three -->
section id="three" class="frapper style3 special"
div class="inner"
header class="major"
h2 #{l :welcome_other_features}
ul class="features"
li class="fp-icon fp-icon_4"
h3 #{l :welcome_feature_1_title}
p #{l :welcome_feature_1_text}
li class="fp-icon fp-icon_5"
h3 #{l :welcome_feature_2_title}
p #{l :welcome_feature_2_text}
li class="fp-icon fp-icon_6"
h3 #{l :welcome_feature_3_title}
p #{l :welcome_feature_3_text}
li class="fp-icon fp-icon_7"
h3 #{l :welcome_feature_4_title}
p #{l :welcome_feature_4_text}
li class="fp-icon fp-icon_8"
h3 #{l :welcome_feature_5_title}
p #{l :welcome_feature_5_text}
li class="fp-icon fp-icon_9"
h3 #{l :welcome_feature_6_title}
p #{l :welcome_feature_6_text}
<!-- Login -->
section id="fp-login" class="frapper style4"
div class="inner"
div id="login-form"
h2 #{l :label_login}
= form_tag signin_path, onsubmit: 'return keepAnchorOnSignIn(this);' do
= back_url_hidden_field_tag
label for="username" #{l :field_login}
= text_field_tag 'username', params[:username], :tabindex => '1'
<label for="password">#{l :field_password}
= link_to l(:label_password_lost), lost_password_path, :class => "lost_password" if Setting.lost_password?
</label>
= password_field_tag 'password', nil, :tabindex => '2'
- if Setting.openid?
label for="openid_url" #{l :field_identity_url}
= text_field_tag "openid_url", nil, :tabindex => '3'
- if Setting.autologin?
label for="autologin" #{l :label_stay_logged_in}
= check_box_tag 'autologin', 1, false, :tabindex => 4
<input type="submit" name="login" value="#{l :button_login}" tabindex="5" id="login-submit" />
<!-- CTA -->
section id="fp-cta" class="frapper style4"
div class="inner"
header
h2 #{l :welcome_any_questions}
p #{l :welcome_please_contact}
ul class="actions stacked"
li
<a href="https://manuel.cillero.es/contacto/#suitepro" class="button fit primary">#{l :welcome_contact}</a>
li
<a href="https://manuel.cillero.es/sobre-mi" class="button fit">#{l :welcome_about_me}</a>
<script src="/themes/circlepro/javascripts/frontpage/jquery.scrolly.min.js"></script>
<script src="/themes/circlepro/javascripts/frontpage/browser.min.js"></script>
<script src="/themes/circlepro/javascripts/frontpage/breakpoints.min.js"></script>
<script src="/themes/circlepro/javascripts/frontpage/util.js"></script>
<script src="/themes/circlepro/javascripts/frontpage/main.js"></script>

View file

@ -189,3 +189,34 @@ en:
wiki_pdf_remove_title_info: "When active the Wiki title info will not be displayed in PDF view."
label_copied_to_clipboard: Copied!
label_copy_to_clipboard: Copy to clipboard
welcome_suitepro: Planning, knowledge sharing, clients support and personal productivity, with both powerful and simplicity in mind.
welcome_discover: Discover
welcome_suitepro_is_redmine: "%{suitepro} is powered by %{redmine}, the popular project management and issue tracking solution based on the Ruby on Rails framework. Redmine lets us have a powerful workflow for getting tasks done and keep information in one place."
welcome_spotlight_1_title: "The Basics: Projects,<br /> Tasks, Issue Tracking"
welcome_spotlight_1_text: Keep track of everything, with visual indicators to monitorize tasks and subtasks in order to stay up to date with milestones, track of time, workflows and all that requires attention.
welcome_spotlight_2_title: "Documents, Wikis,<br /> File Management"
welcome_spotlight_2_text: Keep documents and files availables wherever you are. Use the wiki project to save project requeriments, attached files, install and user guides, or meeting minutes at your fingertips.
welcome_spotlight_3_title: "Flexible control<br /> of user access"
welcome_spotlight_3_text: Using a role-based approach, roles are a collection of permissions outlining how users can operate with the projects. Each member of a project can have one or more roles assigned by administrators.
welcome_other_features: Other Features
welcome_feature_1_title: Gantt Chart And Calendar
welcome_feature_1_text: The gantt chart displays issues that have a start date and a due date. The calendar provides an overview of a project as a monthly view.
welcome_feature_2_title: News And Forums
welcome_feature_2_text: News to show information about the status of projects or any other subjects. The forums allow users from a project to communicate with each others.
welcome_feature_3_title: Email notifications And Feeds
welcome_feature_3_text: SuitePro can be configured to receive notifications via email. It also provides web feeds to use with external readers or aggregators.
welcome_feature_4_title: Code Repositories
welcome_feature_4_text: Version Control Systems like Git or Subversion can be used as code repositories and also keep track of changes made to the code.
welcome_feature_5_title: Responsive Design
welcome_feature_5_text: SuitePro is optimized to look great on mobile devices thanks to its responsive design. All pages adapt automatically to the screen size on a mobile phone, tablet or desktop computer.
welcome_feature_6_title: Is Open Source Software
welcome_feature_6_text: It means you are not locked into using a particular vendors system, and its continually evolving in real time as developers add to it and modify it.
welcome_any_questions: Any Questions?
welcome_please_contact: Please feel free to contact me if you need any further information.
welcome_contact: Contact
welcome_about_me: More About Me

View file

@ -29,8 +29,8 @@ es:
alert_only_visible_by_admins: "Sólo puede ser visto por usuarios con permisos de administrador"
alert_only_visible_by_yourself: "Sólo puede ser visto por ti"
button_assign_to_me: Asignar a mi mismo
button_dashboard_delete: "Borrar el dashboard"
button_dashboard_edit: "Editar el dashboard"
button_dashboard_delete: "Borrar el tablero"
button_dashboard_edit: "Editar el tablero"
disabled_modules_info: "Módulos que no estarán disponibles para ser utilizados en los proyectos. Si estos módulos están actualmente activos en proyectos existentes, deberá modificar y guardar esos proyectos primero."
error_issue_status_could_not_changed: El estado de la petición no puede ser modificado
error_issues_could_not_be_assigned_to_me: La petición no puede ser asignada a mi mismo
@ -60,7 +60,7 @@ es:
info_hidden_roles_html: Los roles ocultos sólo se pueden utilizar junto con la visibilidad del usuario "Miembros de proyectos visibles". Si el usuario no está en una función que sea visible para el usuario actual, esta función, que incluye al usuario, se oculta en la página de resumen del proyecto y en las listas de consulta.
invisible_captcha_info_html: En caso de que esta opción se encuentre activa se activará un sistema de protección de SPAM <a href="https://github.com/markets/invisible_captcha" target="_blank">invisible_captcha</a> para la página de registro de usuarios. Esta función solo está disponible si activa el autoregistro.
label_account_login_bottom: "Texto para la página de inicio de sesión"
label_active_dashboard: "Dashboard activo"
label_active_dashboard: "Tablero activo"
label_add_dashboard_block: "Añadir bloque"
label_add_go_to_top: 'Agregar "Volver al inicio"'
label_add_tags: Agregar etiquetas
@ -69,7 +69,7 @@ es:
label_additionals: Additionals
label_app_menu: Menú de aplicación
label_change_is_private: Cambiar privado/no-privado
label_change_to_dashboard: "Cambiar a Dashboard"
label_change_to_dashboard: "Cambiar a Tablero"
label_chart_color_schema: Charts color scheme
label_chart_with_name: "Chart: %{value}"
label_chartjs_colorscheme_info: "Lista de colores"
@ -77,11 +77,11 @@ es:
label_custom_fields_distribution: "Campos customizados para la distribución"
label_custom_menu_items: Entradas de menú personalizadas
label_daily: diario
label_dashboard_author: "Author: %{name}"
label_dashboard_author: "Autor: %{name}"
label_dashboard_legacy_left: "Contenido estándar a la izquierda"
label_dashboard_legacy_right: "Contenido estándar correcto"
label_dashboard_plural: Dashboards
label_dashboard: Dashboard
label_dashboard_plural: Tableros
label_dashboard: Tablero
label_day: día
label_disable_sidebar: "Deshabilitar la barra lateral"
label_disabled_modules: "Módulos desactivados"
@ -117,10 +117,10 @@ es:
label_menu_entry: "Menu item"
label_monthly: mensual
label_my_activity: "Mi actividad"
label_my_dashboard_plural: "Mis dashboards"
label_my_spent_time: My spent time
label_new_additional_dashboard: "Nuevo dashboard"
label_new_dashboard: "Nuevo dashboard"
label_my_dashboard_plural: "Mis tableros"
label_my_spent_time: Mi tiempo dedicado
label_new_additional_dashboard: "Nuevo tablero"
label_new_dashboard: "Nuevo tablero"
label_new_issue_on_profile: Nueva petición en el perfil de usuario
label_new_ticket_message: "Nota para nuevas peticiones"
label_no_permission: "Sin permiso"
@ -135,7 +135,7 @@ es:
label_query_delete: Eliminar consulta
label_query_edit: Editar Consulta
label_query_name_search: Buscar por nombre
label_query_with_name: "Query: %{value}"
label_query_with_name: "Consulta: %{value}"
label_reddit_subject: Tema de Reddit
label_reddit_user_account: Cuenta de usuario de Reddit
label_redmine_org_issue: Peticion de Redmine.org
@ -189,3 +189,34 @@ es:
wiki_pdf_remove_title_info: "Cuando está activa, el título de la Wiki no será mostrado en los PDF."
label_copied_to_clipboard: "¡Copiado!"
label_copy_to_clipboard: "Copia al portapapeles"
welcome_suitepro: Potencia y sencillez para planificar, compartir conocimiento, prestar soporte a clientes y acelerar la productividad.
welcome_discover: Descubre
welcome_suitepro_is_redmine: "%{suitepro} es %{redmine}, la conocida herramienta para la gestión de proyectos y el seguimiento de peticiones basada en Ruby on Rails. Redmine apremia la finalización de las tareas y mantiene la información en un único sitio."
welcome_spotlight_1_title: "Lo Básico: Proyectos,<br /> Tareas, Peticiones"
welcome_spotlight_1_text: Podrás hacer un seguimiento completo de todo, monitorizar tareas y subtareas para estar al día de los hitos de proyecto, controlar los tiempos, los flujos de trabajo o cualquier elemento que requiera atención.
welcome_spotlight_2_title: "Documentos, Wikis,<br /> Gestión de Archivos"
welcome_spotlight_2_text: Organizados para disponer de los documentos y los archivos allá donde se esté. Y el wiki de proyecto para estructurar los requerimientos, las guías de instalación y de usuario, o las actas de trabajo.
welcome_spotlight_3_title: "Control de accesos<br /> flexible"
welcome_spotlight_3_text: Usando permisos agrupados en roles para establecer cómo pueden operar los usuarios en los proyectos. Cada miembro de un proyecto podrá tener uno o más roles asignados por los administradores.
welcome_other_features: Otras Características
welcome_feature_1_title: Diagrama de Gantt y Calendario
welcome_feature_1_text: El diagrama de Gantt muestra las tareas que tienen fecha de inicio y vencimiento. Y el calendario da una visión general de los proyectos en una vista mensual.
welcome_feature_2_title: Noticias y Foros
welcome_feature_2_text: Las noticias muestran información sobre novedades en los proyectos u otros temas de interés. Y los foros permiten que los usuarios de un proyecto se comuniquen entre sí.
welcome_feature_3_title: Notificaciones y Sindicación
welcome_feature_3_text: SuitePro se puede configurar para recibir notificaciones por correo electrónico. Y también proporciona sindicaciones para utilizar con agregadores externos.
welcome_feature_4_title: Repositorios de Código
welcome_feature_4_text: Sistemas de Control de Versiones como Git o Subversion pueden usarse como repositorios de código y seguir desde SuitePro los cambios realizados en el código.
welcome_feature_5_title: Responsive Design
welcome_feature_5_text: SuitePro está optimizado para visualizarse en dispositivos móviles. Las páginas se adaptan automáticamente al tamaño de la pantalla, ya sea un teléfono móvil, una tableta o un ordenador.
welcome_feature_6_title: Es Software de Código Abierto
welcome_feature_6_text: Esto supone no estar limitado por ningún proveedor, y seguir en permanente evolución con desarrolladores que se involucran continuamente.
welcome_any_questions: ¿Alguna Pregunta?
welcome_please_contact: No dudar en contactar conmigo para obtener más información.
welcome_contact: Contactar
welcome_about_me: Más Sobre Mí