Compare commits

..
1 Commits
Author SHA1 Message Date
Jean-Philippe Lang 3351ef22b2 tagged version 1.3.0
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/tags/1.3.0@8180 e93f8b46-1217-0410-a6f0-8f06a7374b81
2011-12-10 14:50:59 +00:00
62 changed files with 177 additions and 1529 deletions
@@ -29,11 +29,6 @@ class AttachmentsController < ApplicationController
@diff = File.new(@attachment.diskfile, "rb").read @diff = File.new(@attachment.diskfile, "rb").read
@diff_type = params[:type] || User.current.pref[:diff_type] || 'inline' @diff_type = params[:type] || User.current.pref[:diff_type] || 'inline'
@diff_type = 'inline' unless %w(inline sbs).include?(@diff_type) @diff_type = 'inline' unless %w(inline sbs).include?(@diff_type)
# Save diff type as user preference
if User.current.logged? && @diff_type != User.current.pref[:diff_type]
User.current.pref[:diff_type] = @diff_type
User.current.preference.save
end
render :action => 'diff' render :action => 'diff'
elsif @attachment.is_text? && @attachment.filesize <= Setting.file_max_size_displayed.to_i.kilobyte elsif @attachment.is_text? && @attachment.filesize <= Setting.file_max_size_displayed.to_i.kilobyte
@content = File.new(@attachment.diskfile, "rb").read @content = File.new(@attachment.diskfile, "rb").read
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-19
View File
@@ -1,22 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
module CalendarsHelper module CalendarsHelper
def link_to_previous_month(year, month, options={}) def link_to_previous_month(year, month, options={})
target_year, target_month = if month == 1 target_year, target_month = if month == 1
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,4 +1,2 @@
# encoding: utf-8
#
module IssueMovesHelper module IssueMovesHelper
end end
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Helpers to sort tables using clickable column headers. # Helpers to sort tables using clickable column headers.
# #
# Author: Stuart Rackham <srackham@methods.co.nz>, March 2005. # Author: Stuart Rackham <srackham@methods.co.nz>, March 2005.
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-2
View File
@@ -1,5 +1,3 @@
# encoding: utf-8
#
# Redmine - project management software # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang # Copyright (C) 2006-2011 Jean-Philippe Lang
# #
-8
View File
@@ -51,14 +51,6 @@ class Group < Principal
end end
end end
def self.human_attribute_name(attribute_key_name)
attr_name = attribute_key_name
if attr_name == 'lastname'
attr_name = "name"
end
super(attr_name)
end
private private
# Removes references that are not handled by associations # Removes references that are not handled by associations
-4
View File
@@ -56,10 +56,6 @@ class Version < ActiveRecord::Base
effective_date effective_date
end end
def due_date=(arg)
self.effective_date=(arg)
end
# Returns the total estimated time for this version # Returns the total estimated time for this version
# (sum of leaves estimated_hours) # (sum of leaves estimated_hours)
def estimated_hours def estimated_hours
+1 -1
View File
@@ -76,7 +76,7 @@
<div id="footer"> <div id="footer">
<div class="bgl"><div class="bgr"> <div class="bgl"><div class="bgr">
Powered by <%= link_to Redmine::Info.app_name, Redmine::Info.url %> &copy; 2006-2012 Jean-Philippe Lang Powered by <%= link_to Redmine::Info.app_name, Redmine::Info.url %> &copy; 2006-2011 Jean-Philippe Lang
</div></div> </div></div>
</div> </div>
</div> </div>
@@ -5,9 +5,9 @@
<%= javascript_include_tag "revision_graph.js" %> <%= javascript_include_tag "revision_graph.js" %>
<script type="text/javascript"> <script type="text/javascript">
Event.observe(window,"load", function(){ window.onload = function(){
branchGraph(document.getElementById("holder")); branchGraph(document.getElementById("holder"));
}) }
</script> </script>
<div id="holder" class="graph"></div> <div id="holder" class="graph"></div>
@@ -1,7 +1,6 @@
<% form_tag({:action => 'edit', :tab => 'repositories'}) do %> <% form_tag({:action => 'edit', :tab => 'repositories'}) do %>
<fieldset class="box settings enabled_scm"> <fieldset class="box settings enabled_scm">
<%= hidden_field_tag 'settings[enabled_scm][]', '' %>
<legend><%= l(:setting_enabled_scm) %></legend> <legend><%= l(:setting_enabled_scm) %></legend>
<table> <table>
<tr> <tr>
File diff suppressed because it is too large Load Diff
+29 -29
View File
@@ -320,7 +320,7 @@ es:
field_start_date: Fecha de inicio field_start_date: Fecha de inicio
field_start_page: Página principal field_start_page: Página principal
field_status: Estado field_status: Estado
field_subject: Asunto field_subject: Tema
field_subproject: Proyecto secundario field_subproject: Proyecto secundario
field_summary: Resumen field_summary: Resumen
field_time_zone: Zona horaria field_time_zone: Zona horaria
@@ -1012,34 +1012,34 @@ es:
label_git_report_last_commit: Informar del último commit para ficheros y directorios label_git_report_last_commit: Informar del último commit para ficheros y directorios
text_scm_config: Puede configurar las órdenes de cada scm en configuration/configuration.yml. Por favor, reinicie la aplicación después de editarlo text_scm_config: Puede configurar las órdenes de cada scm en configuration/configuration.yml. Por favor, reinicie la aplicación después de editarlo
text_scm_command_not_available: La orden para el Scm no está disponible. Por favor, compruebe la configuración en el panel de administración. text_scm_command_not_available: La orden para el Scm no está disponible. Por favor, compruebe la configuración en el panel de administración.
notice_issue_successful_create: Petición %{id} creada. notice_issue_successful_create: Issue %{id} created.
label_between: entre label_between: between
setting_issue_group_assignment: Permitir asignar peticiones a grupos setting_issue_group_assignment: Allow issue assignment to groups
label_diff: diferencias label_diff: diff
text_git_repository_note: El repositorio es básico y local (p.e. /gitrepo, c:\gitrepo) text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
description_query_sort_criteria_direction: Dirección de ordenación description_query_sort_criteria_direction: Sort direction
description_project_scope: Ámbito de búsqueda description_project_scope: Search scope
description_filter: Filtro description_filter: Filter
description_user_mail_notification: Configuración de notificaciones por correo description_user_mail_notification: Mail notification settings
description_date_from: Introduzca la fecha de inicio description_date_from: Enter start date
description_message_content: Contenido del mensaje description_message_content: Message content
description_available_columns: Columnas disponibles description_available_columns: Available Columns
description_date_range_interval: Elija el rango seleccionando la fecha de inicio y fin description_date_range_interval: Choose range by selecting start and end date
description_issue_category_reassign: Elija la categoría de la petición description_issue_category_reassign: Choose issue category
description_search: Campo de búsqueda description_search: Searchfield
description_notes: Notas description_notes: Notes
description_date_range_list: Elija el rango en la lista description_date_range_list: Choose range from list
description_choose_project: Proyectos description_choose_project: Projects
description_date_to: Introduzca la fecha fin description_date_to: Enter end date
description_query_sort_criteria_attribute: Atributo de ordenación description_query_sort_criteria_attribute: Sort attribute
description_wiki_subpages_reassign: Elija la nueva página padre description_wiki_subpages_reassign: Choose new parent page
description_selected_columns: Columnas seleccionadas description_selected_columns: Selected Columns
label_parent_revision: Padre label_parent_revision: Parent
label_child_revision: Hijo label_child_revision: Child
setting_default_issue_start_date_to_creation_date: Use current date as start date for new issues setting_default_issue_start_date_to_creation_date: Use current date as start date for new issues
button_edit_section: Edit this section button_edit_section: Edit this section
setting_repositories_encodings: Attachments and repositories encodings setting_repositories_encodings: Attachments and repositories encodings
description_all_columns: Todas las columnas description_all_columns: All Columns
button_export: Exportar button_export: Export
label_export_options: "%{export_format} opciones de exportación" label_export_options: "%{export_format} export options"
error_attachment_too_big: Este fichero no se puede adjuntar porque excede el tamaño máximo de fichero (%{max_size}) error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
+1 -1
View File
@@ -898,7 +898,7 @@ fa:
text_user_wrote: "%{value} نوشت:" text_user_wrote: "%{value} نوشت:"
text_enumeration_destroy_question: "%{count} داده به این برشمردنی وابسته شده‌اند." text_enumeration_destroy_question: "%{count} داده به این برشمردنی وابسته شده‌اند."
text_enumeration_category_reassign_to: 'به این برشمردنی وابسته شوند:' text_enumeration_category_reassign_to: 'به این برشمردنی وابسته شوند:'
text_email_delivery_not_configured: "دریافت ایمیل پیکربندی نشده است و آگاه‌سازی‌ها غیر فعال هستند.\nکارگزار SMTP خود را در config/configuration.yml پیکربندی کنید و برنامه را بازنشانی کنید تا فعال شوند." text_email_delivery_not_configured: "دریافت ایمیل پیکربندی نشده است و آگاه‌سازی‌ها غیر فعال هستند.\nکارگزار SMTP خود را در config/email.yml پیکربندی کنید و برنامه را بازنشانی کنید تا فعال شوند."
text_repository_usernames_mapping: "کاربر Redmine که به هر نام کاربری پیام‌های انباره نگاشت می‌شود را برگزینید.\nکاربرانی که نام کاربری یا ایمیل همسان دارند، خود به خود نگاشت می‌شوند." text_repository_usernames_mapping: "کاربر Redmine که به هر نام کاربری پیام‌های انباره نگاشت می‌شود را برگزینید.\nکاربرانی که نام کاربری یا ایمیل همسان دارند، خود به خود نگاشت می‌شوند."
text_diff_truncated: '... این تفاوت بریده شده چون بیشتر از بیشترین اندازه نمایش دادنی است.' text_diff_truncated: '... این تفاوت بریده شده چون بیشتر از بیشترین اندازه نمایش دادنی است.'
text_custom_field_possible_values_info: 'یک خط برای هر مقدار' text_custom_field_possible_values_info: 'یک خط برای هر مقدار'
+77 -78
View File
@@ -2,8 +2,7 @@
# by Kihyun Yoon(ddumbugie@gmail.com),http://plenum.textcube.com/ # by Kihyun Yoon(ddumbugie@gmail.com),http://plenum.textcube.com/
# by John Hwang (jhwang@tavon.org),http://github.com/tavon # by John Hwang (jhwang@tavon.org),http://github.com/tavon
# by Yonghwan SO(please insert your email), last update at 2009-09-11 # by Yonghwan SO(please insert your email), last update at 2009-09-11
# by Ki Won Kim(xyz37@naver.com, http://xyz37.blog.me, https://x10.mine.nu/redmine), last update at 2012-02-01 # last update at 2010-09-06 by Kihyun Yoon
# last update at 2012-02-02 by Ki Won Kim
ko: ko:
direction: ltr direction: ltr
date: date:
@@ -177,7 +176,7 @@ ko:
greater_than_start_date: "는 시작날짜보다 커야 합니다" greater_than_start_date: "는 시작날짜보다 커야 합니다"
not_same_project: "는 같은 프로젝트에 속해 있지 않습니다" not_same_project: "는 같은 프로젝트에 속해 있지 않습니다"
circular_dependency: "이 관계는 순환 의존관계를 만들 수 있습니다" circular_dependency: "이 관계는 순환 의존관계를 만들 수 있습니다"
cant_link_an_issue_with_a_descendant: "일감은 그것의 하위 일감과 연결할 수 없습니다." cant_link_an_issue_with_a_descendant: "An issue can not be linked to one of its subtasks"
actionview_instancetag_blank_option: 선택하세요 actionview_instancetag_blank_option: 선택하세요
@@ -288,7 +287,7 @@ ko:
field_admin: 관리자 field_admin: 관리자
field_last_login_on: 마지막 로그인 field_last_login_on: 마지막 로그인
field_language: 언어 field_language: 언어
field_effective_date: 날짜 field_effective_date: 일자
field_password: 비밀번호 field_password: 비밀번호
field_new_password: 새 비밀번호 field_new_password: 새 비밀번호
field_password_confirmation: 비밀번호 확인 field_password_confirmation: 비밀번호 확인
@@ -364,7 +363,7 @@ ko:
setting_user_format: 사용자 표시 형식 setting_user_format: 사용자 표시 형식
setting_activity_days_default: 프로젝트 작업내역에 표시할 기간 setting_activity_days_default: 프로젝트 작업내역에 표시할 기간
setting_display_subprojects_issues: 하위 프로젝트의 일감을 함께 표시 setting_display_subprojects_issues: 하위 프로젝트의 일감을 함께 표시
setting_enabled_scm: "지원할 SCM(Source Control Management)" setting_enabled_scm: 지원할 SCM
setting_mail_handler_api_enabled: 수신 메일에 WS를 허용 setting_mail_handler_api_enabled: 수신 메일에 WS를 허용
setting_mail_handler_api_key: API 키 setting_mail_handler_api_key: API 키
setting_sequential_project_identifiers: 프로젝트 식별자를 순차적으로 생성 setting_sequential_project_identifiers: 프로젝트 식별자를 순차적으로 생성
@@ -687,10 +686,10 @@ ko:
label_blocked_by: "다음 일감에게 막혀 있음:" label_blocked_by: "다음 일감에게 막혀 있음:"
label_precedes: "다음에 진행할 일감:" label_precedes: "다음에 진행할 일감:"
label_follows: "다음 일감을 우선 진행:" label_follows: "다음 일감을 우선 진행:"
label_end_to_start: "끝에서 시작" label_end_to_start: end to start
label_end_to_end: "끝에서 끝" label_end_to_end: end to end
label_start_to_start: "시작에서 시작" label_start_to_start: start to start
label_start_to_end: "시작에서 끝" label_start_to_end: start to end
label_stay_logged_in: 로그인 유지 label_stay_logged_in: 로그인 유지
label_disabled: 비활성화 label_disabled: 비활성화
label_show_completed_versions: 완료된 버전 보기 label_show_completed_versions: 완료된 버전 보기
@@ -988,74 +987,74 @@ ko:
setting_commit_logtime_activity_id: 기록된 시간에 적용할 작업분류 setting_commit_logtime_activity_id: 기록된 시간에 적용할 작업분류
text_time_logged_by_changeset: "변경묶음 %{value}에서 적용되었습니다." text_time_logged_by_changeset: "변경묶음 %{value}에서 적용되었습니다."
setting_commit_logtime_enabled: 커밋 시점에 작업 시간 기록 활성화 setting_commit_logtime_enabled: 커밋 시점에 작업 시간 기록 활성화
notice_gantt_chart_truncated: "표시할 수 있는 최대 항목수(%{max})를 초과하여 차트가 잘렸습니다." notice_gantt_chart_truncated: The chart was truncated because it exceeds the maximum number of items that can be displayed (%{max})
setting_gantt_items_limit: "Gantt 차트에 표시되는 최대 항목수" setting_gantt_items_limit: Maximum number of items displayed on the gantt chart
field_warn_on_leaving_unsaved: "저장하지 않은 페이지를 빠져나갈 때 나에게 알림" field_warn_on_leaving_unsaved: Warn me when leaving a page with unsaved text
text_warn_on_leaving_unsaved: "현재 페이지는 저장되지 않은 문자가 있습니다. 이 페이지를 빠져나가면 내용을 잃을것입니다." text_warn_on_leaving_unsaved: The current page contains unsaved text that will be lost if you leave this page.
label_my_queries: "내 검색 양식" label_my_queries: My custom queries
text_journal_changed_no_detail: "%{label}이 변경되었습니다." text_journal_changed_no_detail: "%{label} updated"
label_news_comment_added: "뉴스에 설명이 추가되었습니다." label_news_comment_added: Comment added to a news
button_expand_all: "모두 확장" button_expand_all: Expand all
button_collapse_all: "모두 축소" button_collapse_all: Collapse all
label_additional_workflow_transitions_for_assignee: "사용자가 작업자일 때 허용되는 추가 상태" label_additional_workflow_transitions_for_assignee: Additional transitions allowed when the user is the assignee
label_additional_workflow_transitions_for_author: "사용자가 저자일 때 허용되는 추가 상태" label_additional_workflow_transitions_for_author: Additional transitions allowed when the user is the author
label_bulk_edit_selected_time_entries: "선택된 소요 시간 대량 편집" label_bulk_edit_selected_time_entries: Bulk edit selected time entries
text_time_entries_destroy_confirmation: "선택한 소요 시간 항목을 삭제하시겠습니까?" text_time_entries_destroy_confirmation: Are you sure you want to delete the selected time entr(y/ies)?
label_role_anonymous: Anonymous label_role_anonymous: Anonymous
label_role_non_member: Non member label_role_non_member: Non member
label_issue_note_added: "덧글이 추가되었습니다." label_issue_note_added: Note added
label_issue_status_updated: "상태가 변경되었습니다." label_issue_status_updated: Status updated
label_issue_priority_updated: "우선 순위가 변경되었습니다." label_issue_priority_updated: Priority updated
label_issues_visibility_own: "일감을 생성하거나 할당된 사용자" label_issues_visibility_own: Issues created by or assigned to the user
field_issues_visibility: "일감 보임" field_issues_visibility: Issues visibility
label_issues_visibility_all: "모든 일감" label_issues_visibility_all: All issues
permission_set_own_issues_private: "자신의 일감을 공개나 비공개로 설정" permission_set_own_issues_private: Set own issues public or private
field_is_private: "비공개" field_is_private: Private
permission_set_issues_private: "일감을 공개나 비공개로 설정" permission_set_issues_private: Set issues public or private
label_issues_visibility_public: "모든 비공개 일감" label_issues_visibility_public: All non private issues
text_issues_destroy_descendants_confirmation: "%{count} 개의 하위 일감을 삭제할 것입니다." text_issues_destroy_descendants_confirmation: This will also delete %{count} subtask(s).
field_commit_logs_encoding: "제출(commit) 기록 인코딩" field_commit_logs_encoding: 제출(commit) 기록 인코딩
field_scm_path_encoding: "경로 인코딩" field_scm_path_encoding: Path encoding
text_scm_path_encoding_note: "기본: UTF-8" text_scm_path_encoding_note: "Default: UTF-8"
field_path_to_repository: "저장소 경로" field_path_to_repository: Path to repository
field_root_directory: "루트 경로" field_root_directory: Root directory
field_cvs_module: "모듈" field_cvs_module: Module
field_cvsroot: "CVS 루트" field_cvsroot: CVSROOT
text_mercurial_repository_note: "로컬 저장소 (예: /hgrepo, c:\hgrepo)" text_mercurial_repository_note: Local repository (e.g. /hgrepo, c:\hgrepo)
text_scm_command: "명령" text_scm_command: Command
text_scm_command_version: "버전" text_scm_command_version: Version
label_git_report_last_commit: "파일이나 폴더의 마지막 제출(commit)을 보고" label_git_report_last_commit: Report last commit for files and directories
text_scm_config: "SCM 명령을 config/configuration.yml에서 수정할 수 있습니다. 수정후에는 재시작하십시오." text_scm_config: You can configure your scm commands in config/configuration.yml. Please restart the application after editing it.
text_scm_command_not_available: "SCM 명령을 사용할 수 없습니다. 관리 페이지의 설정을 검사하십시오." text_scm_command_not_available: Scm command is not available. Please check settings on the administration panel.
notice_issue_successful_create: "%{id} 일감이 생성되었습니다." notice_issue_successful_create: Issue %{id} created.
label_between: "사이" label_between: between
setting_issue_group_assignment: "그룹에 일감 할당 허용" setting_issue_group_assignment: Allow issue assignment to groups
label_diff: "비교(diff)" label_diff: diff
text_git_repository_note: "저장소는 노출된 로컬입니다. (예: /gitrepo, c:\gitrepo)" text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
description_query_sort_criteria_direction: "정렬 방향" description_query_sort_criteria_direction: Sort direction
description_project_scope: "검색 범위" description_project_scope: Search scope
description_filter: "검색 조건" description_filter: Filter
description_user_mail_notification: "메일 알림 설정" description_user_mail_notification: Mail notification settings
description_date_from: "시작 날짜 입력" description_date_from: Enter start date
description_message_content: "메세지 내용" description_message_content: Message content
description_available_columns: "가능한 컬럼" description_available_columns: Available Columns
description_date_range_interval: 시작과 끝 날짜로 범위를 선택하십시오." description_date_range_interval: Choose range by selecting start and end date
description_issue_category_reassign: "일감 범주를 선택하십시오." description_issue_category_reassign: Choose issue category
description_search: "검색항목" description_search: Searchfield
description_notes: "덧글" description_notes: Notes
description_date_range_list: "목록에서 범위를 선택 하십시오." description_date_range_list: Choose range from list
description_choose_project: "프로젝트" description_choose_project: Projects
description_date_to: "종료 날짜 입력" description_date_to: Enter end date
description_query_sort_criteria_attribute: "정렬 속성" description_query_sort_criteria_attribute: Sort attribute
description_wiki_subpages_reassign: "새로운 상위 페이지를 선택하십시오." description_wiki_subpages_reassign: Choose new parent page
description_selected_columns: "선택된 컬럼" description_selected_columns: Selected Columns
label_parent_revision: "상위" label_parent_revision: Parent
label_child_revision: "하위" label_child_revision: Child
error_scm_annotate_big_text_file: "최대 텍스트 파일 크기를 초과 하면 항목은 이력화 될 수 없습니다." error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size.
setting_default_issue_start_date_to_creation_date: "새로운 일감의 시작 날짜로 오늘 날짜 사용" setting_default_issue_start_date_to_creation_date: Use current date as start date for new issues
button_edit_section: "이 부분 수정" button_edit_section: Edit this section
setting_repositories_encodings: "첨부파일이나 저장소 인코딩" setting_repositories_encodings: Attachments and repositories encodings
description_all_columns: "모든 컬럼" description_all_columns: All Columns
button_export: "내보내기" button_export: Export
label_export_options: "내보내기 옵션: %{export_format}" label_export_options: "%{export_format} export options"
error_attachment_too_big: "이 파일은 제한된 크기(%{max_size})를 초과하였기 때문에 업로드 할 수 없습니다." error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
+14 -16
View File
@@ -1000,25 +1000,23 @@ pt-BR:
setting_issue_group_assignment: Allow issue assignment to groups setting_issue_group_assignment: Allow issue assignment to groups
label_diff: diff label_diff: diff
text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo) text_git_repository_note: Repository is bare and local (e.g. /gitrepo, c:\gitrepo)
description_query_sort_criteria_direction: Sort direction description_query_sort_criteria_direction: Sort direction
description_project_scope: Escopo da pesquisa description_project_scope: Search scope
description_filter: Filtro description_filter: Filter
description_user_mail_notification: Configuração de notificações por e-mail description_user_mail_notification: Mail notification settings
description_date_from: Digita a data inicial description_date_from: Enter start date
description_message_content: Conteúdo da mensagem description_message_content: Message content
description_available_columns: Colunas disponíveis description_available_columns: Available Columns
description_date_range_interval: Escolha um período selecionando a data de início e fim description_date_range_interval: Choose range by selecting start and end date
description_issue_category_reassign: Escolha uma categoria de tarefas description_issue_category_reassign: Choose issue category
description_search: Searchfield description_search: Searchfield
description_notes: Notas description_notes: Notes
description_date_range_list: Escolha um período a partira da lista description_date_range_list: Choose range from list
description_choose_project: Projetos description_choose_project: Projects
description_date_to: Digite a data final description_date_to: Enter end date
description_query_sort_criteria_attribute: Sort attribute description_query_sort_criteria_attribute: Sort attribute
description_wiki_subpages_reassign: Escolha uma nova página pai description_wiki_subpages_reassign: Choose new parent page
description_selected_columns: Colunas selecionadas description_selected_columns: Selected Columns
label_parent_revision: Parent label_parent_revision: Parent
label_child_revision: Child label_child_revision: Child
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size. error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size.
+2 -3
View File
@@ -624,9 +624,7 @@ uk:
default_role_manager: Менеджер default_role_manager: Менеджер
default_role_developer: Розробник default_role_developer: Розробник
default_role_reporter: Репортер default_role_reporter: Репортер
# default_tracker_bug: Bug звітів default_tracker_bug: Помилка
# звітів default_tracker_bug: Помилка
default_tracker_bug: Помилка
default_tracker_feature: Властивість default_tracker_feature: Властивість
default_tracker_support: Підтримка default_tracker_support: Підтримка
default_issue_status_new: Новий default_issue_status_new: Новий
@@ -665,6 +663,7 @@ uk:
label_file_added: File added label_file_added: File added
label_more: More label_more: More
field_default_value: Default value field_default_value: Default value
default_tracker_bug: Bug
label_scm: SCM label_scm: SCM
label_general: General label_general: General
button_update: Update button_update: Update
+1 -19
View File
@@ -1,27 +1,9 @@
== Redmine changelog == Redmine changelog
Redmine - project management software Redmine - project management software
Copyright (C) 2006-2012 Jean-Philippe Lang Copyright (C) 2006-2011 Jean-Philippe Lang
http://www.redmine.org/ http://www.redmine.org/
== 2012-02-06 v1.3.1
* Defect #9775: app/views/repository/_revision_graph.html.erb sets window.onload directly..
* Defect #9792: Ruby 1.9: [v1.3.0] Error: incompatible character encodings for it translation on Calendar page
* Defect #9793: Bad spacing between numbered list and heading (recently broken).
* Defect #9795: Unrelated error message when creating a group with an invalid name
* Defect #9832: Revision graph height should depend on height of rows in revisions table
* Defect #9937: Repository settings are not saved when all SCM are disabled
* Defect #9961: Ukrainian "default_tracker_bug" is wrong
* Defect #10013: Rest API - Create Version -> Internal server error 500
* Defect #10115: Javascript error - Can't attach more than 1 file on IE 6 and 7
* Defect #10130: Broken italic text style in edited comment preview
* Defect #10152: Attachment diff type is not saved in user preference
* Feature #9943: Arabic translation
* Patch #9874: pt-BR translation updates
* Patch #9922: Spanish translation updated
* Patch #10137: Korean language file ko.yml updated to Redmine 1.3.0
== 2011-12-10 v1.3.0 == 2011-12-10 v1.3.0
* Defect #2109: Context menu is being submitted twice per right click * Defect #2109: Context menu is being submitted twice per right click
+1 -1
View File
@@ -4,7 +4,7 @@ module Redmine
module VERSION #:nodoc: module VERSION #:nodoc:
MAJOR = 1 MAJOR = 1
MINOR = 3 MINOR = 3
TINY = 1 TINY = 0
# Branch values: # Branch values:
# * official release: nil # * official release: nil
+1 -1
View File
@@ -89,7 +89,7 @@ function addFileField() {
var fields = $('attachments_fields'); var fields = $('attachments_fields');
if (fields.childElements().length >= 10) return false; if (fields.childElements().length >= 10) return false;
fileFieldCount++; fileFieldCount++;
var s = new Element('span'); var s = document.createElement("span");
s.update(fields.down('span').innerHTML); s.update(fields.down('span').innerHTML);
s.down('input.file').name = "attachments[" + fileFieldCount + "][file]"; s.down('input.file').name = "attachments[" + fileFieldCount + "][file]";
s.down('input.description').name = "attachments[" + fileFieldCount + "][description]"; s.down('input.description').name = "attachments[" + fileFieldCount + "][description]";
@@ -1,125 +0,0 @@
// Calendar AR language
// Author: SmartData.com.sa
// Encoding: any
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
Calendar._DN = new Array
("الاحد",
"الاثنين",
"الثلاثاء",
"الاربعاء",
"الخميس",
"الجمعة",
"السبت",
"الاحد");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// Calendar._SDN_len = N; // short day name length
// Calendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
Calendar._SDN = new Array
("أح",
"إث",
"ث",
"أر",
"خ",
"ج",
"س",
"أح");
// First day of the week. "0" means display Sunday first, "1" means display
// Monday first, etc.
Calendar._FD = 0;
// full month names
Calendar._MN = new Array
("كانون الثاني",
"شباط",
"حزيران",
"آذار",
"أيار",
"نيسان",
"تموز",
"آب",
"أيلول",
"تشرين الاول",
"تشرين الثاني",
"كانون الاول");
// short month names
Calendar._SMN = new Array
("كانون الثاني",
"شباط",
"حزيران",
"آذار",
"أيار",
"نيسان",
"تموز",
"آب",
"أيلول",
"تشرين الاول",
"تشرين الثاني",
"كانون الاول");
// tooltips
Calendar._TT = {};
Calendar._TT["INFO"] = "حول التقويم";
Calendar._TT["ABOUT"] =
"اختيار الوقت والتاريخ\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
"\n\n" +
"اختيار التاريخ:\n" +
"- استخدم هذه الازرار \xab, \xbb لاختيار السنة\n" +
"- استخدم هذه الازرار " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " لاختيار الشهر\n" +
"- استمر في النقر فوق الازرار للتظليل السريع.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"اختيار الوقت:\n" +
"- انقر على اي جزء من اجزاء الوقت لزيادته\n" +
"- لانقاصهShiftاو انقر مع الضغط على مفتاح \n" +
"- او انقر واسحب للتظليل السريع.";
Calendar._TT["PREV_YEAR"] = "السنة السابقة";
Calendar._TT["PREV_MONTH"] = "الشهر السابق";
Calendar._TT["GO_TODAY"] = "اذهب لليوم";
Calendar._TT["NEXT_MONTH"] = "الشهر القادم";
Calendar._TT["NEXT_YEAR"] = "السنة القادمة";
Calendar._TT["SEL_DATE"] = "اختر التاريخ";
Calendar._TT["DRAG_TO_MOVE"] = "اسحب للتتحرك";
Calendar._TT["PART_TODAY"] = "اليوم";
// the following is to inform that "%s" is to be the first day of week
// %s will be replaced with the day name.
Calendar._TT["DAY_FIRST"] = " اولا%sاعرض ";
// This may be locale-dependent. It specifies the week-end days, as an array
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
// means Monday, etc.
Calendar._TT["WEEKEND"] = "5,6";
Calendar._TT["CLOSE"] = "مغلق";
Calendar._TT["TODAY"] = "اليوم";
Calendar._TT["TIME_PART"] = "انقر او اسحب لتغير القيمة";
// date formats
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
Calendar._TT["WK"] = "رقم الاسبوع";
Calendar._TT["TIME"] = "الوقت:";
@@ -1,16 +0,0 @@
jsToolBar.strings = {};
jsToolBar.strings ['Strong'] = 'قوي';
jsToolBar.strings ['Italic'] = 'مائل';
jsToolBar.strings ['Underline'] = 'تسطير';
jsToolBar.strings ['Deleted'] = 'محذوف';
jsToolBar.strings ['Code'] = 'رمز ضمني';
jsToolBar.strings ['Heading 1'] = 'عنوان 1';
jsToolBar.strings ['Heading 2'] = 'عنوان 2';
jsToolBar.strings ['Heading 3'] = 'عنوان 3';
jsToolBar.strings ['Unordered list'] = 'قائمة غير مرتبة';
jsToolBar.strings ['Ordered list'] = 'قائمة مرتبة';
jsToolBar.strings ['Quote'] = 'اقتباس';
jsToolBar.strings ['Unquote'] = 'إزالة الاقتباس';
jsToolBar.strings ['Preformatted text'] = 'نص مسبق التنسيق';
jsToolBar.strings ['Wiki link'] = 'رابط الى صفحة ويكي';
jsToolBar.strings ['Image'] = 'صورة';
+1 -2
View File
@@ -26,8 +26,7 @@ for (var k = 0; k < max_space; k++) {
} }
function branchGraph(holder) { function branchGraph(holder) {
var xstep = 20; var xstep = 20, ystep = 20;
var ystep = $$('tr.changeset')[0].getHeight();
var ch, cw; var ch, cw;
cw = max_space * xstep + xstep; cw = max_space * xstep + xstep;
ch = max_rdmid * ystep + ystep; ch = max_rdmid * ystep + ystep;
+3 -3
View File
@@ -391,7 +391,7 @@ ul.properties li span {font-style:italic;}
.total-hours span.hours-int { font-size: 120%; } .total-hours span.hours-int { font-size: 120%; }
.autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;} .autoscroll {overflow-x: auto; padding:1px; margin-bottom: 1.2em;}
#user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select, #user_identity_url { width: 90%; } #user_login, #user_firstname, #user_lastname, #user_mail, #my_account_form select, #user_form select { width: 90%; }
#workflow_copy_form select { width: 200px; } #workflow_copy_form select { width: 200px; }
@@ -443,6 +443,8 @@ margin-left: 5px !important;
width: auto; width: auto;
} }
form em {font-style:normal;font-size:90%;color:#888;}
label.no-css { label.no-css {
font-weight: inherit; font-weight: inherit;
float:none; float:none;
@@ -747,8 +749,6 @@ div.wiki a.new {
color: #b73535; color: #b73535;
} }
div.wiki ul, div.wiki ol {margin-bottom:1em;}
div.wiki pre { div.wiki pre {
margin: 1em 1em 1em 1.6em; margin: 1em 1em 1em 1.6em;
padding: 2px 2px 2px 0; padding: 2px 2px 2px 0;
@@ -91,21 +91,6 @@ class AttachmentsControllerTest < ActionController::TestCase
set_tmp_attachments_directory set_tmp_attachments_directory
end end
def test_save_diff_type
@request.session[:user_id] = 1 # admin
user = User.find(1)
get :show, :id => 5
assert_response :success
assert_template 'diff'
user.reload
assert_equal "inline", user.pref[:diff_type]
get :show, :id => 5, :type => 'sbs'
assert_response :success
assert_template 'diff'
user.reload
assert_equal "sbs", user.pref[:diff_type]
end
def test_show_text_file def test_show_text_file
get :show, :id => 4 get :show, :id => 4
assert_response :success assert_response :success
@@ -308,26 +308,6 @@ class RepositoriesGitControllerTest < ActionController::TestCase
end end
end end
def test_save_diff_type
@request.session[:user_id] = 1 # admin
user = User.find(1)
get :diff,
:id => PRJ_ID,
:rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7'
assert_response :success
assert_template 'diff'
user.reload
assert_equal "inline", user.pref[:diff_type]
get :diff,
:id => PRJ_ID,
:rev => '2f9c0091c754a91af7a9c478e36556b4bde8dcf7',
:type => 'sbs'
assert_response :success
assert_template 'diff'
user.reload
assert_equal "sbs", user.pref[:diff_type]
end
def test_annotate def test_annotate
get :annotate, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb'] get :annotate, :id => PRJ_ID, :path => ['sources', 'watchers_controller.rb']
assert_response :success assert_response :success
@@ -42,8 +42,6 @@ class SettingsControllerTest < ActionController::TestCase
get :edit get :edit
assert_response :success assert_response :success
assert_template 'edit' assert_template 'edit'
assert_tag 'input', :attributes => {:name => 'settings[enabled_scm][]', :value => ''}
end end
def test_post_edit_notifications def test_post_edit_notifications
@@ -69,20 +69,6 @@ class ApiTest::VersionsTest < ActionController::IntegrationTest
assert_tag 'version', :child => {:tag => 'id', :content => version.id.to_s} assert_tag 'version', :child => {:tag => 'id', :content => version.id.to_s}
end end
should "create the version with due date" do
assert_difference 'Version.count' do
post '/projects/1/versions.xml', {:version => {:name => 'API test', :due_date => '2012-01-24'}}, :authorization => credentials('jsmith')
end
version = Version.first(:order => 'id DESC')
assert_equal 'API test', version.name
assert_equal Date.parse('2012-01-24'), version.due_date
assert_response :created
assert_equal 'application/xml', @response.content_type
assert_tag 'version', :child => {:tag => 'id', :content => version.id.to_s}
end
context "with failure" do context "with failure" do
should "return the errors" do should "return the errors" do
assert_no_difference('Version.count') do assert_no_difference('Version.count') do
-18
View File
@@ -28,29 +28,11 @@ class GroupTest < ActiveSupport::TestCase
:workflows, :workflows,
:groups_users :groups_users
include Redmine::I18n
def test_create def test_create
g = Group.new(:lastname => 'New group') g = Group.new(:lastname => 'New group')
assert g.save assert g.save
end end
def test_blank_name_error_message
set_language_if_valid 'en'
g = Group.new
assert !g.save
assert_include "Name can't be blank", g.errors.full_messages
end
def test_blank_name_error_message_fr
set_language_if_valid 'fr'
str = "Nom doit \xc3\xaatre renseign\xc3\xa9(e)"
str.force_encoding('UTF-8') if str.respond_to?(:force_encoding)
g = Group.new
assert !g.save
assert_include str, g.errors.full_messages
end
def test_roles_given_to_new_user def test_roles_given_to_new_user
group = Group.find(11) group = Group.find(11)
user = User.find(9) user = User.find(9)