Actualiza a Redmine 3.4.13 con adaptaciones
Archivos del código base de Redmine que se modifican para personalizar la composición de las páginas, el texto de bienvenida y la presentación de algunos contenidos.
This commit is contained in:
parent
ecddcaf1d3
commit
723a54d68d
11 changed files with 311 additions and 31 deletions
|
@ -156,6 +156,10 @@ suitepro
|
|||
| +-- /layouts/base.html.erb
|
||||
| |
|
||||
| +-- /repositories/_changeset.html.erb
|
||||
| |
|
||||
| +-- /welcome/index.html.erb
|
||||
| |
|
||||
| +-- /wiki/show.html.erb
|
||||
|
|
||||
+-- /config/locales/en.yml
|
||||
| |
|
||||
|
|
|
@ -42,6 +42,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
|
||||
|
@ -107,7 +109,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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 %>
|
||||
|
||||
|
|
|
@ -13,8 +13,6 @@
|
|||
<% end %>
|
||||
<br />
|
||||
<span class="author"><%= authoring(changeset.committed_on, changeset.author) %></span></p>
|
||||
<div class="wiki changeset-comments">
|
||||
<%= format_changeset_comments changeset %>
|
||||
</div>
|
||||
<div class="wiki changeset-comments"><%= format_changeset_comments changeset %></div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -4,26 +4,29 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<title><%= html_title %></title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||
<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', 'application', 'responsive', :media => 'all' %>
|
||||
<%= stylesheet_link_tag 'jquery/jquery-ui-1.11.0', 'cookieconsent.min', '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">
|
||||
|
||||
<div class="flyout-menu js-flyout-menu">
|
||||
|
||||
|
||||
<% if User.current.logged? || !Setting.login_required? %>
|
||||
<div class="flyout-menu__search">
|
||||
<%= form_tag({:controller => 'search', :action => 'index', :id => @project}, :method => :get ) do %>
|
||||
|
@ -61,19 +64,29 @@
|
|||
<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 %>
|
||||
|
@ -85,21 +98,24 @@
|
|||
<%= render_project_jump_box %>
|
||||
</div>
|
||||
<% 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>
|
||||
|
||||
<div id="main" class="<%= sidebar_content? ? '' : 'nosidebar' %>">
|
||||
<div id="wrapper-main">
|
||||
<div id="sidebar">
|
||||
<%= yield :sidebar %>
|
||||
<%= view_layouts_base_sidebar_hook_response %>
|
||||
|
@ -113,17 +129,49 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a href="#" id="scrollup" class="hide-when-print"><%=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">
|
||||
Powered by <%= link_to Redmine::Info.app_name, Redmine::Info.url %> © 2006-2019 Jean-Philippe Lang
|
||||
<div id="legal">
|
||||
<span class="legal-legal"><a href="/projects/suitepro/wiki/Legal"><%= l(:label_legal) %></a></span>
|
||||
<span class="legal-terms"> | <a href="/projects/suitepro/wiki/Condiciones_de_uso"><%= l(:label_legal_terms) %></a></span>
|
||||
<span class="legal-privacy"> | <a href="/projects/suitepro/wiki/Política_de_privacidad"><%= l(:label_legal_privacy) %></a></span>
|
||||
<span class="legal-cookies"> | <a href="/projects/suitepro/wiki/Política_de_cookies"><%= l(:label_legal_cookies) %></a></span>
|
||||
</div>
|
||||
<%= Time.current.year %> © SuitePro (powered by <%= link_to Redmine::Info.app_name, Redmine::Info.url %>)
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%= 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>
|
||||
|
|
|
@ -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' %>
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
<% if User.current.logged? %>
|
||||
|
||||
<h2><%= l(:label_home) %></h2>
|
||||
|
||||
<div class="splitcontentleft">
|
||||
|
@ -24,3 +26,149 @@
|
|||
<%= auto_discovery_link_tag(:atom, {:controller => 'activities', :action => 'index', :key => User.current.rss_key, :format => 'atom'},
|
||||
:title => "#{Setting.app_title}: #{l(:label_activity)}") %>
|
||||
<% end %>
|
||||
|
||||
<% else %><!-- Frontpage -->
|
||||
|
||||
<div id="fp"><%= text_field_tag 'forcetop', nil, :style => 'display: none;' %>
|
||||
|
||||
<!-- Banner -->
|
||||
<section id="fp-banner">
|
||||
<div class="inner">
|
||||
<h2>SuitePro</h2>
|
||||
<p><%= l(:welcome_suitepro) %></p>
|
||||
<ul class="actions special">
|
||||
<li><a href="#fp-login" class="button primary scrolly"><%= l(:label_login) %></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href="#one" class="more scrolly"><%= l(:welcome_discover) %></a>
|
||||
</section>
|
||||
|
||||
<!-- One -->
|
||||
<section id="one" class="frapper style1 special">
|
||||
<div class="inner">
|
||||
<header class="major">
|
||||
<h2>A SIMPLE WAY TO GET WORK DONE ;)</h2>
|
||||
<p><%= raw l(:welcome_suitepro_is_redmine, :suitepro => '<strong>SuitePro</strong>', :redmine => '<a href="https://www.redmine.org"><strong>Redmine</strong></a>') %></p>
|
||||
</header>
|
||||
<ul class="icons major">
|
||||
<li><span class="fp-icon fp-icon_1 major style1"><span class="label">Lorem</span></span></li>
|
||||
<li><span class="fp-icon fp-icon_2 major style2"><span class="label">Ipsum</span></span></li>
|
||||
<li><span class="fp-icon fp-icon_3 major style3"><span class="label">Dolor</span></span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Two -->
|
||||
<section id="two" class="frapper alt style2">
|
||||
<section class="spotlight">
|
||||
<div class="image"><%= image_tag '/themes/circlepro/images/pic01.jpg' %></div><div class="content">
|
||||
<h2><%= raw l(:welcome_spotlight_1_title) %></h2>
|
||||
<p><%= l(:welcome_spotlight_1_text) %></p>
|
||||
</div>
|
||||
</section>
|
||||
<section class="spotlight">
|
||||
<div class="image"><%= image_tag '/themes/circlepro/images/pic02.jpg' %></div><div class="content">
|
||||
<h2><%= raw l(:welcome_spotlight_2_title) %></h2>
|
||||
<p><%= l(:welcome_spotlight_2_text) %></p>
|
||||
</div>
|
||||
</section>
|
||||
<section class="spotlight">
|
||||
<div class="image"><%= image_tag '/themes/circlepro/images/pic03.jpg' %></div><div class="content">
|
||||
<h2><%= raw l(:welcome_spotlight_3_title) %></h2>
|
||||
<p><%= l(:welcome_spotlight_3_text) %></p>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<!-- Three -->
|
||||
<section id="three" class="frapper style3 special">
|
||||
<div class="inner">
|
||||
<header class="major">
|
||||
<h2><%= l(:welcome_other_features) %></h2>
|
||||
</header>
|
||||
<ul class="features">
|
||||
<li class="fp-icon fp-icon_4">
|
||||
<h3><%= l(:welcome_feature_1_title) %></h3>
|
||||
<p><%= l(:welcome_feature_1_text) %></p>
|
||||
</li>
|
||||
<li class="fp-icon fp-icon_5">
|
||||
<h3><%= l(:welcome_feature_2_title) %></h3>
|
||||
<p><%= l(:welcome_feature_2_text) %></p>
|
||||
</li>
|
||||
<li class="fp-icon fp-icon_6">
|
||||
<h3><%= l(:welcome_feature_3_title) %></h3>
|
||||
<p><%= l(:welcome_feature_3_text) %></p>
|
||||
</li>
|
||||
<li class="fp-icon fp-icon_7">
|
||||
<h3><%= l(:welcome_feature_4_title) %></h3>
|
||||
<p><%= l(:welcome_feature_4_text) %></p>
|
||||
</li>
|
||||
<li class="fp-icon fp-icon_8">
|
||||
<h3><%= l(:welcome_feature_5_title) %></h3>
|
||||
<p><%= l(:welcome_feature_5_text) %></p>
|
||||
</li>
|
||||
<li class="fp-icon fp-icon_9">
|
||||
<h3><%= l(:welcome_feature_6_title) %></h3>
|
||||
<p><%= l(:welcome_feature_6_text) %></p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Login -->
|
||||
<section id="fp-login" class="frapper style4">
|
||||
<div class="inner">
|
||||
<%= 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 %>
|
||||
|
||||
<label for="username"><%=l(:field_login)%></label>
|
||||
<%= 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)%></label>
|
||||
<%= text_field_tag "openid_url", nil, :tabindex => '3' %>
|
||||
<% end %>
|
||||
|
||||
<% if Setting.autologin? %>
|
||||
<label for="autologin"><%= check_box_tag 'autologin', 1, false, :tabindex => 4 %> <%= l(:label_stay_logged_in) %></label>
|
||||
<% end %>
|
||||
|
||||
<input type="submit" name="login" value="<%=l(:button_login)%>" tabindex="5" id="login-submit" />
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA -->
|
||||
<section id="fp-cta" class="frapper style4">
|
||||
<div class="inner">
|
||||
<header>
|
||||
<h2><%= l(:welcome_any_questions) %></h2>
|
||||
<p><%= l(:welcome_please_contact) %></p>
|
||||
</header>
|
||||
<ul class="actions stacked">
|
||||
<li><a href="https://manuel.cillero.es/contacto/#suitepro" class="button fit primary"><%= l(:welcome_contact) %></a></li>
|
||||
<li><a href="https://manuel.cillero.es/sobre-mi" class="button fit"><%= l(:welcome_about_me) %></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
<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>
|
||||
|
||||
<% end %>
|
||||
|
|
|
@ -46,7 +46,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);"><%= l(:label_attachment_plural) %> (<%= @page.attachments.length %>)</legend>
|
||||
<div style="display: none;">
|
||||
|
||||
|
@ -66,6 +67,7 @@
|
|||
<% end %>
|
||||
</div>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
|
||||
<% other_formats_links do |f| %>
|
||||
<%= f.link_to 'PDF', :url => {:id => @page.title, :version => params[:version]} %>
|
||||
|
|
|
@ -1209,3 +1209,41 @@ en:
|
|||
description_issue_category_reassign: Choose issue category
|
||||
description_wiki_subpages_reassign: Choose new parent page
|
||||
text_repository_identifier_info: 'Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.'
|
||||
|
||||
|
||||
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 vendor’s system, and it’s 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
|
||||
|
||||
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
|
||||
|
|
|
@ -504,7 +504,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
|
||||
|
@ -543,7 +543,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
|
||||
|
@ -1217,7 +1217,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.
|
||||
|
@ -1233,7 +1233,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_delimiters: Enable regular expressions
|
||||
error_move_of_child_not_possible: 'Subtask %{child} could not be moved to the new
|
||||
|
@ -1256,3 +1256,41 @@ es:
|
|||
permission_view_news: View news
|
||||
label_no_preview_alternative_html: No preview available. %{link} the file instead.
|
||||
label_no_preview_download: Download
|
||||
|
||||
|
||||
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í
|
||||
|
||||
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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue