##// END OF EJS Templates
Adds a key in lang files (general_csv_decimal_separator) to set the decimal separator (point or comma) in csv exports (#1372)....
Jean-Philippe Lang -
r1577:a4a8b6381e4a
parent child
Show More
@@ -126,6 +126,7 module IssuesHelper
126
126
127 def issues_to_csv(issues, project = nil)
127 def issues_to_csv(issues, project = nil)
128 ic = Iconv.new(l(:general_csv_encoding), 'UTF-8')
128 ic = Iconv.new(l(:general_csv_encoding), 'UTF-8')
129 decimal_separator = l(:general_csv_decimal_separator)
129 export = StringIO.new
130 export = StringIO.new
130 CSV::Writer.generate(export, l(:general_csv_separator)) do |csv|
131 CSV::Writer.generate(export, l(:general_csv_separator)) do |csv|
131 # csv header fields
132 # csv header fields
@@ -168,7 +169,7 module IssuesHelper
168 format_date(issue.start_date),
169 format_date(issue.start_date),
169 format_date(issue.due_date),
170 format_date(issue.due_date),
170 issue.done_ratio,
171 issue.done_ratio,
171 issue.estimated_hours,
172 issue.estimated_hours.to_s.gsub('.', decimal_separator),
172 format_time(issue.created_on),
173 format_time(issue.created_on),
173 format_time(issue.updated_on)
174 format_time(issue.updated_on)
174 ]
175 ]
@@ -44,6 +44,7 module TimelogHelper
44
44
45 def entries_to_csv(entries)
45 def entries_to_csv(entries)
46 ic = Iconv.new(l(:general_csv_encoding), 'UTF-8')
46 ic = Iconv.new(l(:general_csv_encoding), 'UTF-8')
47 decimal_separator = l(:general_csv_decimal_separator)
47 export = StringIO.new
48 export = StringIO.new
48 CSV::Writer.generate(export, l(:general_csv_separator)) do |csv|
49 CSV::Writer.generate(export, l(:general_csv_separator)) do |csv|
49 # csv header fields
50 # csv header fields
@@ -67,7 +68,7 module TimelogHelper
67 (entry.issue ? entry.issue.id : nil),
68 (entry.issue ? entry.issue.id : nil),
68 (entry.issue ? entry.issue.tracker : nil),
69 (entry.issue ? entry.issue.tracker : nil),
69 (entry.issue ? entry.issue.subject : nil),
70 (entry.issue ? entry.issue.subject : nil),
70 entry.hours,
71 entry.hours.to_s.gsub('.', decimal_separator),
71 entry.comments
72 entry.comments
72 ]
73 ]
73 csv << fields.collect {|c| begin; ic.iconv(c.to_s); rescue; c.to_s; end }
74 csv << fields.collect {|c| begin; ic.iconv(c.to_s); rescue; c.to_s; end }
@@ -48,6 +48,7 general_text_no: 'не'
48 general_text_yes: 'да'
48 general_text_yes: 'да'
49 general_lang_name: 'Bulgarian'
49 general_lang_name: 'Bulgarian'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: UTF-8
52 general_csv_encoding: UTF-8
52 general_pdf_encoding: UTF-8
53 general_pdf_encoding: UTF-8
53 general_day_names: Понеделник,Вторник,Сряда,Четвъртък,Петък,Събота,Неделя
54 general_day_names: Понеделник,Вторник,Сряда,Четвъртък,Петък,Събота,Неделя
@@ -51,6 +51,7 general_text_no: 'ne'
51 general_text_yes: 'ano'
51 general_text_yes: 'ano'
52 general_lang_name: 'Čeština'
52 general_lang_name: 'Čeština'
53 general_csv_separator: ','
53 general_csv_separator: ','
54 general_csv_decimal_separator: '.'
54 general_csv_encoding: UTF-8
55 general_csv_encoding: UTF-8
55 general_pdf_encoding: UTF-8
56 general_pdf_encoding: UTF-8
56 general_day_names: Pondělí,Úterý,Středa,Čtvrtek,Pátek,Sobota,Neděle
57 general_day_names: Pondělí,Úterý,Středa,Čtvrtek,Pátek,Sobota,Neděle
@@ -48,6 +48,7 general_text_no: 'nej'
48 general_text_yes: 'ja'
48 general_text_yes: 'ja'
49 general_lang_name: 'Danish (Dansk)'
49 general_lang_name: 'Danish (Dansk)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Mandag,Tirsdag,Onsdag,Torsdag,Fredag,Lørdag,Søndag
54 general_day_names: Mandag,Tirsdag,Onsdag,Torsdag,Fredag,Lørdag,Søndag
@@ -48,6 +48,7 general_text_no: 'nein'
48 general_text_yes: 'ja'
48 general_text_yes: 'ja'
49 general_lang_name: 'Deutsch'
49 general_lang_name: 'Deutsch'
50 general_csv_separator: ';'
50 general_csv_separator: ';'
51 general_csv_decimal_separator: ','
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
54 general_day_names: Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag
@@ -48,6 +48,7 general_text_no: 'no'
48 general_text_yes: 'yes'
48 general_text_yes: 'yes'
49 general_lang_name: 'English'
49 general_lang_name: 'English'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
54 general_day_names: Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
@@ -48,6 +48,7 general_text_no: 'no'
48 general_text_yes: 'sí'
48 general_text_yes: 'sí'
49 general_lang_name: 'Español'
49 general_lang_name: 'Español'
50 general_csv_separator: ';'
50 general_csv_separator: ';'
51 general_csv_decimal_separator: ','
51 general_csv_encoding: ISO-8859-15
52 general_csv_encoding: ISO-8859-15
52 general_pdf_encoding: ISO-8859-15
53 general_pdf_encoding: ISO-8859-15
53 general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo
54 general_day_names: Lunes,Martes,Miércoles,Jueves,Viernes,Sábado,Domingo
@@ -48,6 +48,7 general_text_no: 'ei'
48 general_text_yes: 'kyllä'
48 general_text_yes: 'kyllä'
49 general_lang_name: 'Finnish (Suomi)'
49 general_lang_name: 'Finnish (Suomi)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Maanantai,Tiistai,Keskiviikko,Torstai,Perjantai,Lauantai,Sunnuntai
54 general_day_names: Maanantai,Tiistai,Keskiviikko,Torstai,Perjantai,Lauantai,Sunnuntai
@@ -48,6 +48,7 general_text_no: 'non'
48 general_text_yes: 'oui'
48 general_text_yes: 'oui'
49 general_lang_name: 'Français'
49 general_lang_name: 'Français'
50 general_csv_separator: ';'
50 general_csv_separator: ';'
51 general_csv_decimal_separator: ','
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche
54 general_day_names: Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi,Dimanche
@@ -48,6 +48,7 general_text_no: 'לא'
48 general_text_yes: 'כן'
48 general_text_yes: 'כן'
49 general_lang_name: 'Hebrew (עברית)'
49 general_lang_name: 'Hebrew (עברית)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-8-I
52 general_csv_encoding: ISO-8859-8-I
52 general_pdf_encoding: ISO-8859-8-I
53 general_pdf_encoding: ISO-8859-8-I
53 general_day_names: שני,שלישי,רביעי,חמישי,שישי,שבת,ראשון
54 general_day_names: שני,שלישי,רביעי,חמישי,שישי,שבת,ראשון
@@ -48,6 +48,7 general_text_no: 'nem'
48 general_text_yes: 'igen'
48 general_text_yes: 'igen'
49 general_lang_name: 'Magyar'
49 general_lang_name: 'Magyar'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-2
52 general_csv_encoding: ISO-8859-2
52 general_pdf_encoding: ISO-8859-2
53 general_pdf_encoding: ISO-8859-2
53 general_day_names: Hétfő,Kedd,Szerda,Csütörtök,Péntek,Szombat,Vasárnap
54 general_day_names: Hétfő,Kedd,Szerda,Csütörtök,Péntek,Szombat,Vasárnap
@@ -48,6 +48,7 general_text_no: 'no'
48 general_text_yes: 'si'
48 general_text_yes: 'si'
49 general_lang_name: 'Italiano'
49 general_lang_name: 'Italiano'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Lunedì,Martedì,Mercoledì,Giovedì,Venerdì,Sabato,Domenica
54 general_day_names: Lunedì,Martedì,Mercoledì,Giovedì,Venerdì,Sabato,Domenica
@@ -49,6 +49,7 general_text_no: 'いいえ'
49 general_text_yes: 'はい'
49 general_text_yes: 'はい'
50 general_lang_name: 'Japanese (日本語)'
50 general_lang_name: 'Japanese (日本語)'
51 general_csv_separator: ','
51 general_csv_separator: ','
52 general_csv_decimal_separator: '.'
52 general_csv_encoding: SJIS
53 general_csv_encoding: SJIS
53 general_pdf_encoding: UTF-8
54 general_pdf_encoding: UTF-8
54 general_day_names: 月曜日,火曜日,水曜日,木曜日,金曜日,土曜日,日曜日
55 general_day_names: 月曜日,火曜日,水曜日,木曜日,金曜日,土曜日,日曜日
@@ -48,6 +48,7 general_text_no: '아니오'
48 general_text_yes: '예'
48 general_text_yes: '예'
49 general_lang_name: 'Korean (한국어)'
49 general_lang_name: 'Korean (한국어)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: CP949
52 general_csv_encoding: CP949
52 general_pdf_encoding: CP949
53 general_pdf_encoding: CP949
53 general_day_names: 월요일,화요일,수요일,목요일,금요일,토요일,일요일
54 general_day_names: 월요일,화요일,수요일,목요일,금요일,토요일,일요일
@@ -48,6 +48,7 general_text_no: 'ne'
48 general_text_yes: 'taip'
48 general_text_yes: 'taip'
49 general_lang_name: 'Lithuanian (lietuvių)'
49 general_lang_name: 'Lithuanian (lietuvių)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: UTF-8
52 general_csv_encoding: UTF-8
52 general_pdf_encoding: UTF-8
53 general_pdf_encoding: UTF-8
53 general_day_names: pirmadienis,antradienis,trečiadienis,ketvirtadienis,penktadienis,šeštadienis,sekmadienis
54 general_day_names: pirmadienis,antradienis,trečiadienis,ketvirtadienis,penktadienis,šeštadienis,sekmadienis
@@ -48,6 +48,7 general_text_no: 'nee'
48 general_text_yes: 'ja'
48 general_text_yes: 'ja'
49 general_lang_name: 'Nederlands'
49 general_lang_name: 'Nederlands'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Maandag, Dinsdag, Woensdag, Donderdag, Vrijdag, Zaterdag, Zondag
54 general_day_names: Maandag, Dinsdag, Woensdag, Donderdag, Vrijdag, Zaterdag, Zondag
@@ -48,6 +48,7 general_text_no: 'nei'
48 general_text_yes: 'ja'
48 general_text_yes: 'ja'
49 general_lang_name: 'Norwegian (Norsk bokmål)'
49 general_lang_name: 'Norwegian (Norsk bokmål)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Mandag,Tirsdag,Onsdag,Torsdag,Fredag,Lørdag,Søndag
54 general_day_names: Mandag,Tirsdag,Onsdag,Torsdag,Fredag,Lørdag,Søndag
@@ -48,6 +48,7 general_text_no: 'nie'
48 general_text_yes: 'tak'
48 general_text_yes: 'tak'
49 general_lang_name: 'Polski'
49 general_lang_name: 'Polski'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-2
52 general_csv_encoding: ISO-8859-2
52 general_pdf_encoding: ISO-8859-2
53 general_pdf_encoding: ISO-8859-2
53 general_day_names: Poniedziałek,Wtorek,Środa,Czwartek,Piątek,Sobota,Niedziela
54 general_day_names: Poniedziałek,Wtorek,Środa,Czwartek,Piątek,Sobota,Niedziela
@@ -48,6 +48,7 general_text_no: 'não'
48 general_text_yes: 'sim'
48 general_text_yes: 'sim'
49 general_lang_name: 'Português(Brasil)'
49 general_lang_name: 'Português(Brasil)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Segunda,Terça,Quarta,Quinta,Sexta,Sabado,Domingo
54 general_day_names: Segunda,Terça,Quarta,Quinta,Sexta,Sabado,Domingo
@@ -48,6 +48,7 general_text_no: 'não'
48 general_text_yes: 'sim'
48 general_text_yes: 'sim'
49 general_lang_name: 'Português'
49 general_lang_name: 'Português'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Segunda,Terça,Quarta,Quinta,Sexta,Sábado,Domingo
54 general_day_names: Segunda,Terça,Quarta,Quinta,Sexta,Sábado,Domingo
@@ -48,6 +48,7 general_text_no: 'nu'
48 general_text_yes: 'da'
48 general_text_yes: 'da'
49 general_lang_name: 'Română'
49 general_lang_name: 'Română'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Luni,Marti,Miercuri,Joi,Vineri,Sambata,Duminica
54 general_day_names: Luni,Marti,Miercuri,Joi,Vineri,Sambata,Duminica
@@ -48,6 +48,7 general_text_no: 'Нет'
48 general_text_yes: 'Да'
48 general_text_yes: 'Да'
49 general_lang_name: 'Russian (Русский)'
49 general_lang_name: 'Russian (Русский)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: UTF-8
52 general_csv_encoding: UTF-8
52 general_pdf_encoding: UTF-8
53 general_pdf_encoding: UTF-8
53 general_day_names: Понедельник,Вторник,Среда,Четверг,Пятница,Суббота,Воскресенье
54 general_day_names: Понедельник,Вторник,Среда,Четверг,Пятница,Суббота,Воскресенье
@@ -48,6 +48,7 general_text_no: 'ne'
48 general_text_yes: 'da'
48 general_text_yes: 'da'
49 general_lang_name: 'Srpski'
49 general_lang_name: 'Srpski'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Ponedeljak, Utorak, Sreda, četvrtak, Petak, Subota, Nedelja
54 general_day_names: Ponedeljak, Utorak, Sreda, četvrtak, Petak, Subota, Nedelja
@@ -48,6 +48,7 general_text_no: 'nej'
48 general_text_yes: 'ja'
48 general_text_yes: 'ja'
49 general_lang_name: 'Svenska'
49 general_lang_name: 'Svenska'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: ISO-8859-1
52 general_csv_encoding: ISO-8859-1
52 general_pdf_encoding: ISO-8859-1
53 general_pdf_encoding: ISO-8859-1
53 general_day_names: Måndag,Tisdag,Onsdag,Torsdag,Fredag,Lördag,Söndag
54 general_day_names: Måndag,Tisdag,Onsdag,Torsdag,Fredag,Lördag,Söndag
@@ -48,6 +48,7 general_text_no: 'ไม่'
48 general_text_yes: 'ใช่'
48 general_text_yes: 'ใช่'
49 general_lang_name: 'Thai (ไทย)'
49 general_lang_name: 'Thai (ไทย)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: Windows-874
52 general_csv_encoding: Windows-874
52 general_pdf_encoding: cp874
53 general_pdf_encoding: cp874
53 general_day_names: จันทร์,อังคาร,พุธ,พฤหัสบดี,ศุกร์,เสาร์,อาทิตย์
54 general_day_names: จันทร์,อังคาร,พุธ,พฤหัสบดี,ศุกร์,เสาร์,อาทิตย์
@@ -48,6 +48,7 general_text_no: 'Ні'
48 general_text_yes: 'Так'
48 general_text_yes: 'Так'
49 general_lang_name: 'Ukrainian (Українська)'
49 general_lang_name: 'Ukrainian (Українська)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: UTF-8
52 general_csv_encoding: UTF-8
52 general_pdf_encoding: UTF-8
53 general_pdf_encoding: UTF-8
53 general_day_names: Понеділок,Вівторок,Середа,Четвер,П'ятниця,Субота,Неділя
54 general_day_names: Понеділок,Вівторок,Середа,Четвер,П'ятниця,Субота,Неділя
@@ -48,6 +48,7 general_text_no: '否'
48 general_text_yes: '是'
48 general_text_yes: '是'
49 general_lang_name: 'Traditional Chinese (繁體中文)'
49 general_lang_name: 'Traditional Chinese (繁體中文)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: Big5
52 general_csv_encoding: Big5
52 general_pdf_encoding: Big5
53 general_pdf_encoding: Big5
53 general_day_names: 星期一,星期二,星期三,星期四,星期五,星期六,星期日
54 general_day_names: 星期一,星期二,星期三,星期四,星期五,星期六,星期日
@@ -48,6 +48,7 general_text_no: '否'
48 general_text_yes: '是'
48 general_text_yes: '是'
49 general_lang_name: 'Simplified Chinese (简体中文)'
49 general_lang_name: 'Simplified Chinese (简体中文)'
50 general_csv_separator: ','
50 general_csv_separator: ','
51 general_csv_decimal_separator: '.'
51 general_csv_encoding: gb2312
52 general_csv_encoding: gb2312
52 general_pdf_encoding: gb2312
53 general_pdf_encoding: gb2312
53 general_day_names: 星期一,星期二,星期三,星期四,星期五,星期六,星期日
54 general_day_names: 星期一,星期二,星期三,星期四,星期五,星期六,星期日
General Comments 0
You need to be logged in to leave comments. Login now