@@ -262,7 +262,7 class ProjectsController < ApplicationController | |||||
262 | :conditions => @query.statement, |
|
262 | :conditions => @query.statement, | |
263 | :limit => Setting.issues_export_limit |
|
263 | :limit => Setting.issues_export_limit | |
264 |
|
264 | |||
265 |
ic = Iconv.new( |
|
265 | ic = Iconv.new(l(:general_csv_encoding), 'UTF-8') | |
266 | export = StringIO.new |
|
266 | export = StringIO.new | |
267 | CSV::Writer.generate(export, l(:general_csv_separator)) do |csv| |
|
267 | CSV::Writer.generate(export, l(:general_csv_separator)) do |csv| | |
268 | # csv header fields |
|
268 | # csv header fields |
@@ -16,20 +16,37 | |||||
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
|
16 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
17 |
|
17 | |||
18 | require 'iconv' |
|
18 | require 'iconv' | |
|
19 | require 'rfpdf/chinese' | |||
19 |
|
20 | |||
20 | module IfpdfHelper |
|
21 | module IfpdfHelper | |
21 |
|
22 | |||
22 | class IFPDF < FPDF |
|
23 | class IFPDF < FPDF | |
23 |
|
24 | include GLoc | ||
24 | attr_accessor :footer_date |
|
25 | attr_accessor :footer_date | |
25 |
|
26 | |||
26 | def initialize |
|
27 | def initialize(lang) | |
27 | super |
|
28 | super() | |
|
29 | set_language_if_valid lang | |||
|
30 | case current_language | |||
|
31 | when :ja | |||
|
32 | extend(PDF_Japanese) | |||
|
33 | AddSJISFont() | |||
|
34 | @font_for_content = 'SJIS' | |||
|
35 | @font_for_footer = 'SJIS' | |||
|
36 | else | |||
|
37 | @font_for_content = 'Arial' | |||
|
38 | @font_for_footer = 'Helvetica' | |||
|
39 | end | |||
28 | SetCreator("redMine #{Redmine::VERSION}") |
|
40 | SetCreator("redMine #{Redmine::VERSION}") | |
|
41 | SetFont(@font_for_content) | |||
|
42 | end | |||
|
43 | ||||
|
44 | def SetFontStyle(style, size) | |||
|
45 | SetFont(@font_for_content, style, size) | |||
29 | end |
|
46 | end | |
30 |
|
47 | |||
31 | def Cell(w,h=0,txt='',border=0,ln=0,align='',fill=0,link='') |
|
48 | def Cell(w,h=0,txt='',border=0,ln=0,align='',fill=0,link='') | |
32 |
@ic ||= Iconv.new( |
|
49 | @ic ||= Iconv.new(l(:general_pdf_encoding), 'UTF-8') | |
33 | txt = begin |
|
50 | txt = begin | |
34 | @ic.iconv(txt) |
|
51 | @ic.iconv(txt) | |
35 | rescue |
|
52 | rescue | |
@@ -39,7 +56,7 module IfpdfHelper | |||||
39 | end |
|
56 | end | |
40 |
|
57 | |||
41 | def Footer |
|
58 | def Footer | |
42 |
SetFont( |
|
59 | SetFont(@font_for_footer, 'I', 8) | |
43 | SetY(-15) |
|
60 | SetY(-15) | |
44 | SetX(15) |
|
61 | SetX(15) | |
45 | Cell(0, 5, @footer_date, 0, 0, 'L') |
|
62 | Cell(0, 5, @footer_date, 0, 0, 'L') |
@@ -1,65 +1,65 | |||||
1 |
<% pdf.SetFont( |
|
1 | <% pdf.SetFontStyle('B',11) | |
2 | pdf.Cell(190,10, "#{issue.project.name} - #{issue.tracker.name} # #{issue.long_id} - #{issue.subject}") |
|
2 | pdf.Cell(190,10, "#{issue.project.name} - #{issue.tracker.name} # #{issue.long_id} - #{issue.subject}") | |
3 | pdf.Ln |
|
3 | pdf.Ln | |
4 |
|
4 | |||
5 | y0 = pdf.GetY |
|
5 | y0 = pdf.GetY | |
6 |
|
6 | |||
7 |
pdf.SetFont( |
|
7 | pdf.SetFontStyle('B',9) | |
8 | pdf.Cell(35,5, l(:field_status) + ":","LT") |
|
8 | pdf.Cell(35,5, l(:field_status) + ":","LT") | |
9 |
pdf.SetFont( |
|
9 | pdf.SetFontStyle('',9) | |
10 | pdf.Cell(60,5, issue.status.name,"RT") |
|
10 | pdf.Cell(60,5, issue.status.name,"RT") | |
11 |
pdf.SetFont( |
|
11 | pdf.SetFontStyle('B',9) | |
12 | pdf.Cell(35,5, l(:field_priority) + ":","LT") |
|
12 | pdf.Cell(35,5, l(:field_priority) + ":","LT") | |
13 |
pdf.SetFont( |
|
13 | pdf.SetFontStyle('',9) | |
14 | pdf.Cell(60,5, issue.priority.name,"RT") |
|
14 | pdf.Cell(60,5, issue.priority.name,"RT") | |
15 | pdf.Ln |
|
15 | pdf.Ln | |
16 |
|
16 | |||
17 |
pdf.SetFont( |
|
17 | pdf.SetFontStyle('B',9) | |
18 | pdf.Cell(35,5, l(:field_author) + ":","L") |
|
18 | pdf.Cell(35,5, l(:field_author) + ":","L") | |
19 |
pdf.SetFont( |
|
19 | pdf.SetFontStyle('',9) | |
20 | pdf.Cell(60,5, issue.author.name,"R") |
|
20 | pdf.Cell(60,5, issue.author.name,"R") | |
21 |
pdf.SetFont( |
|
21 | pdf.SetFontStyle('B',9) | |
22 | pdf.Cell(35,5, l(:field_category) + ":","L") |
|
22 | pdf.Cell(35,5, l(:field_category) + ":","L") | |
23 |
pdf.SetFont( |
|
23 | pdf.SetFontStyle('',9) | |
24 | pdf.Cell(60,5, (issue.category ? issue.category.name : "-"),"R") |
|
24 | pdf.Cell(60,5, (issue.category ? issue.category.name : "-"),"R") | |
25 | pdf.Ln |
|
25 | pdf.Ln | |
26 |
|
26 | |||
27 |
pdf.SetFont( |
|
27 | pdf.SetFontStyle('B',9) | |
28 | pdf.Cell(35,5, l(:field_created_on) + ":","L") |
|
28 | pdf.Cell(35,5, l(:field_created_on) + ":","L") | |
29 |
pdf.SetFont( |
|
29 | pdf.SetFontStyle('',9) | |
30 | pdf.Cell(60,5, format_date(issue.created_on),"R") |
|
30 | pdf.Cell(60,5, format_date(issue.created_on),"R") | |
31 |
pdf.SetFont( |
|
31 | pdf.SetFontStyle('B',9) | |
32 | pdf.Cell(35,5, l(:field_assigned_to) + ":","L") |
|
32 | pdf.Cell(35,5, l(:field_assigned_to) + ":","L") | |
33 |
pdf.SetFont( |
|
33 | pdf.SetFontStyle('',9) | |
34 | pdf.Cell(60,5, (issue.assigned_to ? issue.assigned_to.name : "-"),"R") |
|
34 | pdf.Cell(60,5, (issue.assigned_to ? issue.assigned_to.name : "-"),"R") | |
35 | pdf.Ln |
|
35 | pdf.Ln | |
36 |
|
36 | |||
37 |
pdf.SetFont( |
|
37 | pdf.SetFontStyle('B',9) | |
38 | pdf.Cell(35,5, l(:field_updated_on) + ":","LB") |
|
38 | pdf.Cell(35,5, l(:field_updated_on) + ":","LB") | |
39 |
pdf.SetFont( |
|
39 | pdf.SetFontStyle('',9) | |
40 | pdf.Cell(60,5, format_date(issue.updated_on),"RB") |
|
40 | pdf.Cell(60,5, format_date(issue.updated_on),"RB") | |
41 |
pdf.SetFont( |
|
41 | pdf.SetFontStyle('B',9) | |
42 | pdf.Cell(35,5, l(:field_due_date) + ":","LB") |
|
42 | pdf.Cell(35,5, l(:field_due_date) + ":","LB") | |
43 |
pdf.SetFont( |
|
43 | pdf.SetFontStyle('',9) | |
44 | pdf.Cell(60,5, format_date(issue.due_date),"RB") |
|
44 | pdf.Cell(60,5, format_date(issue.due_date),"RB") | |
45 | pdf.Ln |
|
45 | pdf.Ln | |
46 |
|
46 | |||
47 | for custom_value in issue.custom_values |
|
47 | for custom_value in issue.custom_values | |
48 |
pdf.SetFont( |
|
48 | pdf.SetFontStyle('B',9) | |
49 | pdf.Cell(35,5, custom_value.custom_field.name + ":","L") |
|
49 | pdf.Cell(35,5, custom_value.custom_field.name + ":","L") | |
50 |
pdf.SetFont( |
|
50 | pdf.SetFontStyle('',9) | |
51 | pdf.MultiCell(155,5, (show_value custom_value),"R") |
|
51 | pdf.MultiCell(155,5, (show_value custom_value),"R") | |
52 | end |
|
52 | end | |
53 |
|
53 | |||
54 |
pdf.SetFont( |
|
54 | pdf.SetFontStyle('B',9) | |
55 | pdf.Cell(35,5, l(:field_subject) + ":","LTB") |
|
55 | pdf.Cell(35,5, l(:field_subject) + ":","LTB") | |
56 |
pdf.SetFont( |
|
56 | pdf.SetFontStyle('',9) | |
57 | pdf.Cell(155,5, issue.subject,"RTB") |
|
57 | pdf.Cell(155,5, issue.subject,"RTB") | |
58 | pdf.Ln |
|
58 | pdf.Ln | |
59 |
|
59 | |||
60 |
pdf.SetFont( |
|
60 | pdf.SetFontStyle('B',9) | |
61 | pdf.Cell(35,5, l(:field_description) + ":") |
|
61 | pdf.Cell(35,5, l(:field_description) + ":") | |
62 |
pdf.SetFont( |
|
62 | pdf.SetFontStyle('',9) | |
63 | pdf.MultiCell(155,5, issue.description,"BR") |
|
63 | pdf.MultiCell(155,5, issue.description,"BR") | |
64 |
|
64 | |||
65 | pdf.Line(pdf.GetX, y0, pdf.GetX, pdf.GetY) |
|
65 | pdf.Line(pdf.GetX, y0, pdf.GetX, pdf.GetY) | |
@@ -67,30 +67,30 | |||||
67 |
|
67 | |||
68 | pdf.Ln |
|
68 | pdf.Ln | |
69 |
|
69 | |||
70 |
pdf.SetFont( |
|
70 | pdf.SetFontStyle('B',9) | |
71 | pdf.Cell(190,5, l(:label_history), "B") |
|
71 | pdf.Cell(190,5, l(:label_history), "B") | |
72 | pdf.Ln |
|
72 | pdf.Ln | |
73 | for journal in issue.journals.find(:all, :include => :user, :order => "journals.created_on desc") |
|
73 | for journal in issue.journals.find(:all, :include => :user, :order => "journals.created_on desc") | |
74 |
pdf.SetFont( |
|
74 | pdf.SetFontStyle('B',8) | |
75 | pdf.Cell(190,5, format_time(journal.created_on) + " - " + journal.user.name) |
|
75 | pdf.Cell(190,5, format_time(journal.created_on) + " - " + journal.user.name) | |
76 | pdf.Ln |
|
76 | pdf.Ln | |
77 |
pdf.SetFont( |
|
77 | pdf.SetFontStyle('I',8) | |
78 | for detail in journal.details |
|
78 | for detail in journal.details | |
79 | pdf.Cell(190,5, "- " + show_detail(detail, true)) |
|
79 | pdf.Cell(190,5, "- " + show_detail(detail, true)) | |
80 | pdf.Ln |
|
80 | pdf.Ln | |
81 | end |
|
81 | end | |
82 | if journal.notes? |
|
82 | if journal.notes? | |
83 |
pdf.SetFont( |
|
83 | pdf.SetFontStyle('',8) | |
84 | pdf.MultiCell(190,5, journal.notes) |
|
84 | pdf.MultiCell(190,5, journal.notes) | |
85 | end |
|
85 | end | |
86 | pdf.Ln |
|
86 | pdf.Ln | |
87 | end |
|
87 | end | |
88 |
|
88 | |||
89 |
pdf.SetFont( |
|
89 | pdf.SetFontStyle('B',9) | |
90 | pdf.Cell(190,5, l(:label_attachment_plural), "B") |
|
90 | pdf.Cell(190,5, l(:label_attachment_plural), "B") | |
91 | pdf.Ln |
|
91 | pdf.Ln | |
92 | for attachment in issue.attachments |
|
92 | for attachment in issue.attachments | |
93 |
pdf.SetFont( |
|
93 | pdf.SetFontStyle('',8) | |
94 | pdf.Cell(80,5, attachment.filename) |
|
94 | pdf.Cell(80,5, attachment.filename) | |
95 | pdf.Cell(20,5, number_to_human_size(attachment.filesize),0,0,"R") |
|
95 | pdf.Cell(20,5, number_to_human_size(attachment.filesize),0,0,"R") | |
96 | pdf.Cell(20,5, format_date(attachment.created_on),0,0,"R") |
|
96 | pdf.Cell(20,5, format_date(attachment.created_on),0,0,"R") |
@@ -1,4 +1,4 | |||||
1 | <% pdf=IfpdfHelper::IFPDF.new |
|
1 | <% pdf=IfpdfHelper::IFPDF.new(current_language) | |
2 | pdf.SetTitle("#{@project.name} - ##{@issue.tracker.name} #{@issue.id}") |
|
2 | pdf.SetTitle("#{@project.name} - ##{@issue.tracker.name} #{@issue.id}") | |
3 | pdf.AliasNbPages |
|
3 | pdf.AliasNbPages | |
4 | pdf.footer_date = format_date(Date.today) |
|
4 | pdf.footer_date = format_date(Date.today) |
@@ -1,4 +1,4 | |||||
1 | <% pdf=IfpdfHelper::IFPDF.new |
|
1 | <% pdf=IfpdfHelper::IFPDF.new(current_language) | |
2 | pdf.SetTitle("#{@project.name} - #{l(:label_issue_plural)}") |
|
2 | pdf.SetTitle("#{@project.name} - #{l(:label_issue_plural)}") | |
3 | pdf.AliasNbPages |
|
3 | pdf.AliasNbPages | |
4 | pdf.footer_date = format_date(Date.today) |
|
4 | pdf.footer_date = format_date(Date.today) | |
@@ -8,14 +8,14 | |||||
8 | # |
|
8 | # | |
9 | # title |
|
9 | # title | |
10 | # |
|
10 | # | |
11 |
pdf.SetFont( |
|
11 | pdf.SetFontStyle('B',11) | |
12 | pdf.Cell(190,10, "#{@project.name} - #{l(:label_issue_plural)}") |
|
12 | pdf.Cell(190,10, "#{@project.name} - #{l(:label_issue_plural)}") | |
13 | pdf.Ln |
|
13 | pdf.Ln | |
14 |
|
14 | |||
15 | # |
|
15 | # | |
16 | # headers |
|
16 | # headers | |
17 | # |
|
17 | # | |
18 |
pdf.SetFont( |
|
18 | pdf.SetFontStyle('B',10) | |
19 | pdf.SetFillColor(230, 230, 230) |
|
19 | pdf.SetFillColor(230, 230, 230) | |
20 | pdf.Cell(15, row_height, "#", 0, 0, 'L', 1) |
|
20 | pdf.Cell(15, row_height, "#", 0, 0, 'L', 1) | |
21 | pdf.Cell(30, row_height, l(:field_tracker), 0, 0, 'L', 1) |
|
21 | pdf.Cell(30, row_height, l(:field_tracker), 0, 0, 'L', 1) | |
@@ -32,7 +32,7 | |||||
32 | # |
|
32 | # | |
33 | # rows |
|
33 | # rows | |
34 | # |
|
34 | # | |
35 |
pdf.SetFont( |
|
35 | pdf.SetFontStyle('',9) | |
36 | pdf.SetFillColor(255, 255, 255) |
|
36 | pdf.SetFillColor(255, 255, 255) | |
37 | @issues.each do |issue| |
|
37 | @issues.each do |issue| | |
38 | pdf.Cell(15, row_height, issue.id.to_s, 0, 0, 'L', 1) |
|
38 | pdf.Cell(15, row_height, issue.id.to_s, 0, 0, 'L', 1) |
@@ -1,14 +1,14 | |||||
1 | <% |
|
1 | <% | |
2 | pdf=IfpdfHelper::IFPDF.new |
|
2 | pdf=IfpdfHelper::IFPDF.new(current_language) | |
3 | pdf.SetTitle("#{@project.name} - #{l(:label_gantt)}") |
|
3 | pdf.SetTitle("#{@project.name} - #{l(:label_gantt)}") | |
4 | pdf.AliasNbPages |
|
4 | pdf.AliasNbPages | |
5 | pdf.footer_date = format_date(Date.today) |
|
5 | pdf.footer_date = format_date(Date.today) | |
6 | pdf.AddPage("L") |
|
6 | pdf.AddPage("L") | |
7 |
pdf.SetFont( |
|
7 | pdf.SetFontStyle('B',12) | |
8 | pdf.SetX(15) |
|
8 | pdf.SetX(15) | |
9 | pdf.Cell(70, 20, @project.name) |
|
9 | pdf.Cell(70, 20, @project.name) | |
10 | pdf.Ln |
|
10 | pdf.Ln | |
11 |
pdf.SetFont( |
|
11 | pdf.SetFontStyle('B',9) | |
12 |
|
12 | |||
13 | subject_width = 70 |
|
13 | subject_width = 70 | |
14 | header_heigth = 5 |
|
14 | header_heigth = 5 | |
@@ -84,7 +84,7 if show_days | |||||
84 | left = subject_width |
|
84 | left = subject_width | |
85 | height = header_heigth |
|
85 | height = header_heigth | |
86 | wday = @date_from.cwday |
|
86 | wday = @date_from.cwday | |
87 |
pdf.SetFont( |
|
87 | pdf.SetFontStyle('B',7) | |
88 | (@date_to - @date_from + 1).to_i.times do |
|
88 | (@date_to - @date_from + 1).to_i.times do | |
89 | width = zoom |
|
89 | width = zoom | |
90 | pdf.SetY(y_start + 2 * header_heigth) |
|
90 | pdf.SetY(y_start + 2 * header_heigth) | |
@@ -105,7 +105,7 pdf.Cell(subject_width+g_width-15, headers_heigth, "", 1) | |||||
105 | # Tasks |
|
105 | # Tasks | |
106 | # |
|
106 | # | |
107 | top = headers_heigth + y_start |
|
107 | top = headers_heigth + y_start | |
108 |
pdf.SetFont( |
|
108 | pdf.SetFontStyle('B',7) | |
109 | @issues.each do |i| |
|
109 | @issues.each do |i| | |
110 | pdf.SetY(top) |
|
110 | pdf.SetY(top) | |
111 | pdf.SetX(15) |
|
111 | pdf.SetX(15) |
@@ -46,6 +46,8 general_text_no: 'nein' | |||||
46 | general_text_yes: 'ja' |
|
46 | general_text_yes: 'ja' | |
47 | general_lang_de: 'Deutsch' |
|
47 | general_lang_de: 'Deutsch' | |
48 | general_csv_separator: ';' |
|
48 | general_csv_separator: ';' | |
|
49 | general_csv_encoding: ISO-8859-1 | |||
|
50 | general_pdf_encoding: ISO-8859-1 | |||
49 | general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag |
|
51 | general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag | |
50 |
|
52 | |||
51 | notice_account_updated: Konto wurde erfolgreich aktualisiert. |
|
53 | notice_account_updated: Konto wurde erfolgreich aktualisiert. |
@@ -46,6 +46,8 general_text_no: 'no' | |||||
46 | general_text_yes: 'yes' |
|
46 | general_text_yes: 'yes' | |
47 | general_lang_en: 'English' |
|
47 | general_lang_en: 'English' | |
48 | general_csv_separator: ',' |
|
48 | general_csv_separator: ',' | |
|
49 | general_csv_encoding: ISO-8859-1 | |||
|
50 | general_pdf_encoding: ISO-8859-1 | |||
49 | general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday |
|
51 | general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday | |
50 |
|
52 | |||
51 | notice_account_updated: Account was successfully updated. |
|
53 | notice_account_updated: Account was successfully updated. |
@@ -46,6 +46,8 general_text_no: 'no' | |||||
46 | general_text_yes: 'sí' |
|
46 | general_text_yes: 'sí' | |
47 | general_lang_es: 'Español' |
|
47 | general_lang_es: 'Español' | |
48 | general_csv_separator: ';' |
|
48 | general_csv_separator: ';' | |
|
49 | general_csv_encoding: ISO-8859-1 | |||
|
50 | general_pdf_encoding: ISO-8859-1 | |||
49 | general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo |
|
51 | general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo | |
50 |
|
52 | |||
51 | notice_account_updated: Account was successfully updated. |
|
53 | notice_account_updated: Account was successfully updated. |
@@ -46,6 +46,8 general_text_no: 'non' | |||||
46 | general_text_yes: 'oui' |
|
46 | general_text_yes: 'oui' | |
47 | general_lang_fr: 'Français' |
|
47 | general_lang_fr: 'Français' | |
48 | general_csv_separator: ';' |
|
48 | general_csv_separator: ';' | |
|
49 | general_csv_encoding: ISO-8859-1 | |||
|
50 | general_pdf_encoding: ISO-8859-1 | |||
49 | general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche |
|
51 | general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche | |
50 |
|
52 | |||
51 | notice_account_updated: Le compte a été mis à jour avec succès. |
|
53 | notice_account_updated: Le compte a été mis à jour avec succès. |
@@ -38,7 +38,7 activerecord_error_greater_than_start_date: を開始日より後にしてくだ | |||||
38 | general_fmt_age: %d歳 |
|
38 | general_fmt_age: %d歳 | |
39 | general_fmt_age_plural: %d歳 |
|
39 | general_fmt_age_plural: %d歳 | |
40 | general_fmt_date: %%Y年%%m月%%d日 |
|
40 | general_fmt_date: %%Y年%%m月%%d日 | |
41 | general_fmt_datetime: %%Y年%%月%%d日 %%H:%%M %%p |
|
41 | general_fmt_datetime: %%Y年%%m月%%d日 %%H:%%M %%p | |
42 | general_fmt_datetime_short: %%b %%d, %%H:%%M %%p |
|
42 | general_fmt_datetime_short: %%b %%d, %%H:%%M %%p | |
43 | general_fmt_time: %%H:%%M %%p |
|
43 | general_fmt_time: %%H:%%M %%p | |
44 | general_text_No: 'いいえ' |
|
44 | general_text_No: 'いいえ' | |
@@ -47,6 +47,8 general_text_no: 'いいえ' | |||||
47 | general_text_yes: 'はい' |
|
47 | general_text_yes: 'はい' | |
48 | general_lang_ja: 'Japanese (日本語)' |
|
48 | general_lang_ja: 'Japanese (日本語)' | |
49 | general_csv_separator: ',' |
|
49 | general_csv_separator: ',' | |
|
50 | general_csv_encoding: SJIS | |||
|
51 | general_pdf_encoding: SJIS | |||
50 | general_day_names: 日曜日, 月曜日, 火曜日, 水曜日, 木曜日, 金曜日, 土曜日 |
|
52 | general_day_names: 日曜日, 月曜日, 火曜日, 水曜日, 木曜日, 金曜日, 土曜日 | |
51 |
|
53 | |||
52 | notice_account_updated: アカウントが更新されました。 |
|
54 | notice_account_updated: アカウントが更新されました。 | |
@@ -78,7 +80,7 field_summary: サマリ | |||||
78 | field_is_required: 必須 |
|
80 | field_is_required: 必須 | |
79 | field_firstname: 名前 |
|
81 | field_firstname: 名前 | |
80 | field_lastname: 苗字 |
|
82 | field_lastname: 苗字 | |
81 |
field_mail: |
|
83 | field_mail: メールアドレス | |
82 | field_filename: ファイル |
|
84 | field_filename: ファイル | |
83 | field_filesize: サイズ |
|
85 | field_filesize: サイズ | |
84 | field_downloads: ダウンロード |
|
86 | field_downloads: ダウンロード | |
@@ -116,15 +118,15 field_is_in_chlog: 変更記録に表示されている問題 | |||||
116 | field_login: ログイン |
|
118 | field_login: ログイン | |
117 | field_mail_notification: メール通知 |
|
119 | field_mail_notification: メール通知 | |
118 | field_admin: 管理者 |
|
120 | field_admin: 管理者 | |
119 |
field_locked: |
|
121 | field_locked: ロック済 | |
120 | field_last_login_on: 最終接続日 |
|
122 | field_last_login_on: 最終接続日 | |
121 | field_language: 言語 |
|
123 | field_language: 言語 | |
122 |
field_effective_date: |
|
124 | field_effective_date: 日付 | |
123 | field_password: パスワード |
|
125 | field_password: パスワード | |
124 | field_new_password: 新しいパスワード |
|
126 | field_new_password: 新しいパスワード | |
125 | field_password_confirmation: パスワードの確認 |
|
127 | field_password_confirmation: パスワードの確認 | |
126 | field_version: バージョン |
|
128 | field_version: バージョン | |
127 |
field_type: |
|
129 | field_type: タイプ | |
128 | field_host: ホスト |
|
130 | field_host: ホスト | |
129 | field_port: ポート |
|
131 | field_port: ポート | |
130 | field_account: アカウント |
|
132 | field_account: アカウント | |
@@ -133,7 +135,7 field_attr_login: ログイン名属性 | |||||
133 | field_attr_firstname: 名前属性 |
|
135 | field_attr_firstname: 名前属性 | |
134 | field_attr_lastname: 苗字属性 |
|
136 | field_attr_lastname: 苗字属性 | |
135 | field_attr_mail: メール属性 |
|
137 | field_attr_mail: メール属性 | |
136 | field_onthefly: On-the-fly user creation |
|
138 | field_onthefly: あわせてユーザを作成 | |
137 | field_start_date: 開始日 |
|
139 | field_start_date: 開始日 | |
138 | field_done_ratio: 進捗 %% |
|
140 | field_done_ratio: 進捗 %% | |
139 | field_auth_source: 認証モード |
|
141 | field_auth_source: 認証モード | |
@@ -300,8 +302,8 label_not_contains: 含まない | |||||
300 | label_day_plural: 日 |
|
302 | label_day_plural: 日 | |
301 | label_repository: SVNリポジトリ |
|
303 | label_repository: SVNリポジトリ | |
302 | label_browse: ブラウズ |
|
304 | label_browse: ブラウズ | |
303 | label_modification: %d点の変更 |
|
305 | label_modification: %d 点の変更 | |
304 | label_modification_plural: %d点の変更 |
|
306 | label_modification_plural: %d 点の変更 | |
305 | label_revision: リビジョン |
|
307 | label_revision: リビジョン | |
306 | label_revision_plural: リビジョン |
|
308 | label_revision_plural: リビジョン | |
307 | label_added: 追加された |
|
309 | label_added: 追加された | |
@@ -316,9 +318,9 label_sort_higher: 上へ | |||||
316 | label_sort_lower: 下へ |
|
318 | label_sort_lower: 下へ | |
317 | label_sort_lowest: 一番下へ |
|
319 | label_sort_lowest: 一番下へ | |
318 | label_roadmap: ロードマップ |
|
320 | label_roadmap: ロードマップ | |
319 |
label_search: |
|
321 | label_search: 検索 | |
320 |
label_result: %d |
|
322 | label_result: %d 件の結果 | |
321 |
label_result_plural: %d |
|
323 | label_result_plural: %d 件の結果 | |
322 |
|
324 | |||
323 | button_login: ログイン |
|
325 | button_login: ログイン | |
324 | button_submit: 変更 |
|
326 | button_submit: 変更 | |
@@ -344,11 +346,11 button_cancel: キャンセル | |||||
344 | button_activate: 有効にする |
|
346 | button_activate: 有効にする | |
345 | button_sort: ソート |
|
347 | button_sort: ソート | |
346 |
|
348 | |||
347 | text_select_mail_notifications: どのメール通知を送信するかアクションを選択してください。 |
|
349 | text_select_mail_notifications: どのメール通知を送信するか、アクションを選択してください。 | |
348 | text_regexp_info: 例) ^[A-Z0-9]+$ |
|
350 | text_regexp_info: 例) ^[A-Z0-9]+$ | |
349 | text_min_max_length_info: 0だと無制限になります |
|
351 | text_min_max_length_info: 0だと無制限になります | |
350 | text_project_destroy_confirmation: 本当にこのプロジェクトと関連データを削除したいのですか? |
|
352 | text_project_destroy_confirmation: 本当にこのプロジェクトと関連データを削除したいのですか? | |
351 |
text_workflow_edit: ワークフローを編集するロールと |
|
353 | text_workflow_edit: ワークフローを編集するロールとトラッカーを選んでください | |
352 | text_are_you_sure: 本当に? |
|
354 | text_are_you_sure: 本当に? | |
353 | text_journal_changed: %s から %s への変更 |
|
355 | text_journal_changed: %s から %s への変更 | |
354 | text_journal_set_to: %s にセット |
|
356 | text_journal_set_to: %s にセット |
@@ -146,13 +146,13 module PDF_Japanese | |||||
146 | b2='LR' |
|
146 | b2='LR' | |
147 | else |
|
147 | else | |
148 | b2='' |
|
148 | b2='' | |
149 |
if(border.index('L') |
|
149 | if(border.to_s.index('L')) | |
150 | b2+='L' |
|
150 | b2+='L' | |
151 | end |
|
151 | end | |
152 |
if(border.index('R') |
|
152 | if(border.to_s.index('R')) | |
153 | b2+='R' |
|
153 | b2+='R' | |
154 | end |
|
154 | end | |
155 |
b=border.index('T') |
|
155 | b=border.to_s.index('T') ? b2+'T' : b2 | |
156 | end |
|
156 | end | |
157 | end |
|
157 | end | |
158 | sep=-1 |
|
158 | sep=-1 | |
@@ -163,7 +163,7 module PDF_Japanese | |||||
163 | while(i<nb) |
|
163 | while(i<nb) | |
164 | #Get next character |
|
164 | #Get next character | |
165 | c=s[i] |
|
165 | c=s[i] | |
166 |
o= |
|
166 | o=c #o=ord(c) | |
167 | if(o==10) |
|
167 | if(o==10) | |
168 | #Explicit line break |
|
168 | #Explicit line break | |
169 | Cell(w,h,s[j,i-j],b,2,align,fill) |
|
169 | Cell(w,h,s[j,i-j],b,2,align,fill) | |
@@ -221,7 +221,7 module PDF_Japanese | |||||
221 | end |
|
221 | end | |
222 | end |
|
222 | end | |
223 | #Last chunk |
|
223 | #Last chunk | |
224 | if(border and not border.index('B').nil?) |
|
224 | if(border and not border.to_s.index('B').nil?) | |
225 | b+='B' |
|
225 | b+='B' | |
226 | end |
|
226 | end | |
227 | Cell(w,h,s[j,i-j],b,2,align,fill) |
|
227 | Cell(w,h,s[j,i-j],b,2,align,fill) |
General Comments 0
You need to be logged in to leave comments.
Login now