Feature #30492 » 30492-v2.diff
| Gemfile (作業コピー) | ||
|---|---|---|
| 29 | 29 |
gem "rack-openid" |
| 30 | 30 |
end |
| 31 | 31 | |
| 32 |
# Optional gem for exporting the gantt to a PNG file, not supported with jruby
|
|
| 33 |
group :rmagick do
|
|
| 34 |
gem "rmagick", "~> 2.16.0"
|
|
| 32 |
# Optional gem for exporting the gantt to a PNG file |
|
| 33 |
group :minimagick do
|
|
| 34 |
gem "mini_magick", "~> 4.9.5"
|
|
| 35 | 35 |
end |
| 36 | 36 | |
| 37 | 37 |
# Optional Markdown support, not for JRuby |
| app/controllers/admin_controller.rb (作業コピー) | ||
|---|---|---|
| 76 | 76 |
[:text_default_administrator_account_changed, User.default_admin_account_changed?], |
| 77 | 77 |
[:text_file_repository_writable, File.writable?(Attachment.storage_path)], |
| 78 | 78 |
["#{l :text_plugin_assets_writable} (./public/plugin_assets)", File.writable?(Redmine::Plugin.public_directory)],
|
| 79 |
[:text_rmagick_available, Object.const_defined?(:Magick)],
|
|
| 79 |
[:text_minimagick_available, Object.const_defined?(:MiniMagick)],
|
|
| 80 | 80 |
[:text_convert_available, Redmine::Thumbnail.convert_available?], |
| 81 | 81 |
[:text_gs_available, Redmine::Thumbnail.gs_available?] |
| 82 | 82 |
] |
| appveyor.yml (作業コピー) | ||
|---|---|---|
| 13 | 13 |
build: off |
| 14 | 14 | |
| 15 | 15 |
test_script: |
| 16 |
- bundle install --without rmagick
|
|
| 16 |
- bundle install --without minimagick
|
|
| 17 | 17 |
- set SCMS=mercurial |
| 18 | 18 |
- set RUN_ON_NOT_OFFICIAL= |
| 19 | 19 |
- set RUBY_VER=1.9 |
| config/configuration.yml.example (作業コピー) | ||
|---|---|---|
| 179 | 179 |
# the ImageMagick's `convert` binary. Used to generate attachment thumbnails. |
| 180 | 180 |
#imagemagick_convert_command: |
| 181 | 181 | |
| 182 |
# Configuration of RMagick font.
|
|
| 182 |
# Configuration of MiniMagick font.
|
|
| 183 | 183 |
# |
| 184 |
# Redmine uses RMagick in order to export gantt png.
|
|
| 185 |
# You don't need this setting if you don't install RMagick.
|
|
| 184 |
# Redmine uses MiniMagick in order to export gantt png.
|
|
| 185 |
# You don't need this setting if you don't install MiniMagick.
|
|
| 186 | 186 |
# |
| 187 | 187 |
# In CJK (Chinese, Japanese and Korean), |
| 188 | 188 |
# in order to show CJK characters correctly, |
| ... | ... | |
| 195 | 195 |
# |
| 196 | 196 |
# Examples for Japanese: |
| 197 | 197 |
# Windows: |
| 198 |
# rmagick_font_path: C:\windows\fonts\msgothic.ttc
|
|
| 198 |
# minimagick_font_path: C:\windows\fonts\msgothic.ttc
|
|
| 199 | 199 |
# Linux: |
| 200 |
# rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf
|
|
| 200 |
# minimagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf
|
|
| 201 | 201 |
# |
| 202 |
rmagick_font_path:
|
|
| 202 |
minimagick_font_path:
|
|
| 203 | 203 | |
| 204 | 204 |
# Maximum number of simultaneous AJAX uploads |
| 205 | 205 |
#max_concurrent_ajax_uploads: 2 |
| config/locales/ar.yml (作業コピー) | ||
|---|---|---|
| 977 | 977 |
description_all_columns: كل الاعمدة |
| 978 | 978 |
description_issue_category_reassign: اختر التصنيف |
| 979 | 979 |
description_wiki_subpages_reassign: اختر صفحة جديدة |
| 980 |
text_rmagick_available: RMagick available (optional)
|
|
| 980 |
text_minimagick_available: MiniMagick available (optional)
|
|
| 981 | 981 |
text_wiki_page_destroy_question: This page has %{descendants} child page(s) and descendant(s). What do you want to do?
|
| 982 | 982 |
text_repository_usernames_mapping: |- |
| 983 | 983 |
Select or update the Redmine user mapped to each username found in the repository log. |
| config/locales/az.yml (作業コピー) | ||
|---|---|---|
| 897 | 897 |
text_reassign_time_entries: 'Qeydiyyata alınmış vaxtı aşağıdakı tapşırığa keçir:' |
| 898 | 898 |
text_regexp_info: "məsələn: ^[A-Z0-9]+$" |
| 899 | 899 |
text_repository_usernames_mapping: "Saxlayıcının jurnalında tapılan adlarla bağlı olan Redmine istifadəçisini seçin və ya yeniləyin.\nEyni ad və e-poçta sahib olan istifadəçilər Redmine və saxlayıcıda avtomatik əlaqələndirilir." |
| 900 |
text_rmagick_available: RMagick istifadəsi mümkündür (opsional olaraq)
|
|
| 900 |
text_minimagick_available: MiniMagick istifadəsi mümkündür (opsional olaraq)
|
|
| 901 | 901 |
text_select_mail_notifications: Elektron poçta bildirişlərin göndərilməsi seçim edəcəyiniz hərəkətlərdən asılıdır. |
| 902 | 902 |
text_select_project_modules: 'Layihədə istifadə olunacaq modulları seçin:' |
| 903 | 903 |
text_status_changed_by_changeset: "%{value} redaksiyada reallaşdırılıb."
|
| config/locales/bg.yml (作業コピー) | ||
|---|---|---|
| 1180 | 1180 |
text_default_administrator_account_changed: Сменен фабричния администраторски профил |
| 1181 | 1181 |
text_file_repository_writable: Възможност за писане в хранилището с файлове |
| 1182 | 1182 |
text_plugin_assets_writable: Папката на приставките е разрешена за запис |
| 1183 |
text_rmagick_available: Наличен RMagick (по избор)
|
|
| 1183 |
text_minimagick_available: Наличен MiniMagick (по избор)
|
|
| 1184 | 1184 |
text_convert_available: Наличен ImageMagick convert (по избор) |
| 1185 | 1185 |
text_gs_available: Налична поддръжка за ImageMagick PDF (по избор) |
| 1186 | 1186 |
text_destroy_time_entries_question: "%{hours} часа са отделени на задачите, които искате да изтриете. Какво избирате?"
|
| config/locales/bs.yml (作業コピー) | ||
|---|---|---|
| 762 | 762 |
text_default_administrator_account_changed: Tekući administratorski račun je promjenjen |
| 763 | 763 |
text_file_repository_writable: U direktorij sa fajlovima koji su prilozi se može pisati |
| 764 | 764 |
text_plugin_assets_writable: U direktorij plugin-ova se može pisati |
| 765 |
text_rmagick_available: RMagick je dostupan (opciono)
|
|
| 765 |
text_minimagick_available: MiniMagick je dostupan (opciono)
|
|
| 766 | 766 |
text_destroy_time_entries_question: "%{hours} sahata je prijavljeno na aktivnostima koje želite brisati. Želite li to učiniti ?"
|
| 767 | 767 |
text_destroy_time_entries: Izbriši prijavljeno vrijeme |
| 768 | 768 |
text_assign_time_entries_to_project: Dodaj prijavljenoo vrijeme projektu |
| config/locales/ca.yml (作業コピー) | ||
|---|---|---|
| 855 | 855 |
text_default_administrator_account_changed: "S'ha canviat el compte d'administrador predeterminat" |
| 856 | 856 |
text_file_repository_writable: "Es pot escriure en el repositori de fitxers" |
| 857 | 857 |
text_plugin_assets_writable: "Es pot escriure als complements actius" |
| 858 |
text_rmagick_available: "RMagick disponible (opcional)"
|
|
| 858 |
text_minimagick_available: "MiniMagick disponible (opcional)"
|
|
| 859 | 859 |
text_destroy_time_entries_question: "S'han informat %{hours} hores en els assumptes que aneu a suprimir. Què voleu fer?"
|
| 860 | 860 |
text_destroy_time_entries: "Suprimir les hores informades" |
| 861 | 861 |
text_assign_time_entries_to_project: "Assignar les hores informades al projecte" |
| config/locales/cs.yml (作業コピー) | ||
|---|---|---|
| 872 | 872 |
text_default_administrator_account_changed: Výchozí nastavení administrátorského účtu změněno |
| 873 | 873 |
text_file_repository_writable: Povolen zápis do adresáře ukládání souborů |
| 874 | 874 |
text_plugin_assets_writable: Možnost zápisu do adresáře plugin assets |
| 875 |
text_rmagick_available: RMagick k dispozici (volitelné)
|
|
| 875 |
text_minimagick_available: MiniMagick k dispozici (volitelné)
|
|
| 876 | 876 |
text_destroy_time_entries_question: "U úkolů, které chcete odstranit, je evidováno %{hours} práce. Co chete udělat?"
|
| 877 | 877 |
text_destroy_time_entries: Odstranit zaznamenané hodiny. |
| 878 | 878 |
text_assign_time_entries_to_project: Přiřadit zaznamenané hodiny projektu |
| config/locales/da.yml (作業コピー) | ||
|---|---|---|
| 673 | 673 |
text_select_project_modules: 'Vælg moduler er skal være aktiveret for dette projekt:' |
| 674 | 674 |
text_default_administrator_account_changed: Standardadministratorkonto ændret |
| 675 | 675 |
text_file_repository_writable: Filarkiv er skrivbar |
| 676 |
text_rmagick_available: RMagick tilgængelig (valgfri)
|
|
| 676 |
text_minimagick_available: MiniMagick tilgængelig (valgfri)
|
|
| 677 | 677 | |
| 678 | 678 |
default_role_manager: Leder |
| 679 | 679 |
default_role_developer: Udvikler |
| config/locales/de.yml (作業コピー) | ||
|---|---|---|
| 1109 | 1109 |
text_regexp_info: z. B. ^[A-Z0-9]+$ |
| 1110 | 1110 |
text_repository_identifier_info: 'Kleinbuchstaben (a-z), Ziffern, Binde- und Unterstriche erlaubt.<br />Einmal gespeichert, kann die Kennung nicht mehr geändert werden.' |
| 1111 | 1111 |
text_repository_usernames_mapping: "Bitte legen Sie die Zuordnung der Redmine-Benutzer zu den Benutzernamen der Commit-Nachrichten des Repositories fest.\nBenutzer mit identischen Redmine- und Repository-Benutzernamen oder -E-Mail-Adressen werden automatisch zugeordnet." |
| 1112 |
text_rmagick_available: RMagick verfügbar (optional)
|
|
| 1112 |
text_minimagick_available: MiniMagick verfügbar (optional)
|
|
| 1113 | 1113 |
text_scm_command: Kommando |
| 1114 | 1114 |
text_scm_command_not_available: SCM-Kommando ist nicht verfügbar. Bitte prüfen Sie die Einstellungen im Administrationspanel. |
| 1115 | 1115 |
text_scm_command_version: Version |
| config/locales/el.yml (作業コピー) | ||
|---|---|---|
| 774 | 774 |
text_default_administrator_account_changed: Ο προκαθορισμένος λογαριασμός του διαχειριστή άλλαξε |
| 775 | 775 |
text_file_repository_writable: Εγγράψιμος κατάλογος συνημμένων |
| 776 | 776 |
text_plugin_assets_writable: Εγγράψιμος κατάλογος plugin assets |
| 777 |
text_rmagick_available: Διαθέσιμο RMagick (προαιρετικό)
|
|
| 777 |
text_minimagick_available: Διαθέσιμο MiniMagick (προαιρετικό)
|
|
| 778 | 778 |
text_destroy_time_entries_question: "%{hours} δαπανήθηκαν σχετικά με τα θέματα που πρόκειται να διαγράψετε. Τι θέλετε να κάνετε ;"
|
| 779 | 779 |
text_destroy_time_entries: Διαγραφή αναφερόμενων ωρών |
| 780 | 780 |
text_assign_time_entries_to_project: Ανάθεση αναφερόμενων ωρών στο έργο |
| config/locales/en-GB.yml (作業コピー) | ||
|---|---|---|
| 886 | 886 |
text_default_administrator_account_changed: Default administrator account changed |
| 887 | 887 |
text_file_repository_writable: Attachments directory writable |
| 888 | 888 |
text_plugin_assets_writable: Plugin assets directory writable |
| 889 |
text_rmagick_available: RMagick available (optional)
|
|
| 889 |
text_minimagick_available: MiniMagick available (optional)
|
|
| 890 | 890 |
text_destroy_time_entries_question: "%{hours} hours were reported on the issues you are about to delete. What do you want to do?"
|
| 891 | 891 |
text_destroy_time_entries: Delete reported hours |
| 892 | 892 |
text_assign_time_entries_to_project: Assign reported hours to the project |
| config/locales/en.yml (作業コピー) | ||
|---|---|---|
| 1178 | 1178 |
text_default_administrator_account_changed: Default administrator account changed |
| 1179 | 1179 |
text_file_repository_writable: Attachments directory writable |
| 1180 | 1180 |
text_plugin_assets_writable: Plugin assets directory writable |
| 1181 |
text_rmagick_available: RMagick available (optional)
|
|
| 1181 |
text_minimagick_available: MiniMagick available (optional)
|
|
| 1182 | 1182 |
text_convert_available: ImageMagick convert available (optional) |
| 1183 | 1183 |
text_gs_available: ImageMagick PDF support available (optional) |
| 1184 | 1184 |
text_destroy_time_entries_question: "%{hours} hours were reported on the issues you are about to delete. What do you want to do?"
|
| config/locales/es-PA.yml (作業コピー) | ||
|---|---|---|
| 804 | 804 |
text_reassign_time_entries: 'Reasignar las horas a esta incidencia:' |
| 805 | 805 |
text_regexp_info: ej. ^[A-Z0-9]+$ |
| 806 | 806 |
text_repository_usernames_mapping: "Establezca la correspondencia entre los usuarios de Redmine y los presentes en el log del repositorio.\nLos usuarios con el mismo nombre o correo en Redmine y en el repositorio serán asociados automáticamente." |
| 807 |
text_rmagick_available: RMagick disponible (opcional)
|
|
| 807 |
text_minimagick_available: MiniMagick disponible (opcional)
|
|
| 808 | 808 |
text_select_mail_notifications: Seleccionar los eventos a notificar |
| 809 | 809 |
text_select_project_modules: 'Seleccione los módulos a activar para este proyecto:' |
| 810 | 810 |
text_status_changed_by_changeset: "Aplicado en los cambios %{value}"
|
| config/locales/es.yml (作業コピー) | ||
|---|---|---|
| 802 | 802 |
text_reassign_time_entries: 'Reasignar las horas a esta petición:' |
| 803 | 803 |
text_regexp_info: ej. ^[A-Z0-9]+$ |
| 804 | 804 |
text_repository_usernames_mapping: "Establezca la correspondencia entre los usuarios de Redmine y los presentes en el log del repositorio.\nLos usuarios con el mismo nombre o correo en Redmine y en el repositorio serán asociados automáticamente." |
| 805 |
text_rmagick_available: RMagick disponible (opcional)
|
|
| 805 |
text_minimagick_available: MiniMagick disponible (opcional)
|
|
| 806 | 806 |
text_select_mail_notifications: Seleccionar los eventos a notificar |
| 807 | 807 |
text_select_project_modules: 'Seleccione los módulos a activar para este proyecto:' |
| 808 | 808 |
text_status_changed_by_changeset: "Aplicado en los cambios %{value}"
|
| config/locales/et.yml (作業コピー) | ||
|---|---|---|
| 948 | 948 |
text_default_administrator_account_changed: "Algne administraatori konto on muudetud" |
| 949 | 949 |
text_file_repository_writable: "Manuste kataloog on kirjutatav" |
| 950 | 950 |
text_plugin_assets_writable: "Lisamoodulite abifailide kataloog on kirjutatav" |
| 951 |
text_rmagick_available: "RMagick on kasutatav (ei ole kohustuslik)"
|
|
| 951 |
text_minimagick_available: "MiniMagick on kasutatav (ei ole kohustuslik)"
|
|
| 952 | 952 |
text_destroy_time_entries_question: "Kustutatavatele teemadele oli kirja pandud %{hours} tundi. Mis Sa soovid ette võtta?"
|
| 953 | 953 |
text_destroy_time_entries: "Kustuta need tunnid" |
| 954 | 954 |
text_assign_time_entries_to_project: "Vii tunnid üle teise projekti" |
| config/locales/eu.yml (作業コピー) | ||
|---|---|---|
| 832 | 832 |
text_default_administrator_account_changed: Lehenetsitako kudeatzaile kontua aldatuta |
| 833 | 833 |
text_file_repository_writable: Eranskinen direktorioan idatz daiteke |
| 834 | 834 |
text_plugin_assets_writable: Pluginen baliabideen direktorioan idatz daiteke |
| 835 |
text_rmagick_available: RMagick eskuragarri (aukerazkoa)
|
|
| 835 |
text_minimagick_available: MiniMagick eskuragarri (aukerazkoa)
|
|
| 836 | 836 |
text_destroy_time_entries_question: "%{hours} orduei buruz berri eman zen zuk ezabatzera zoazen zereginean. Zer egin nahi duzu?"
|
| 837 | 837 |
text_destroy_time_entries: Ezabatu berri emandako orduak |
| 838 | 838 |
text_assign_time_entries_to_project: Berri emandako orduak proiektura esleitu |
| config/locales/fa.yml (作業コピー) | ||
|---|---|---|
| 1131 | 1131 |
text_default_administrator_account_changed: حساب راهبری پیشفرض تغییر کرده است |
| 1132 | 1132 |
text_file_repository_writable: پوشه پیوستها نوشتنی است |
| 1133 | 1133 |
text_plugin_assets_writable: پوشه داراییهای افزونهها نوشتنی است |
| 1134 |
text_rmagick_available: RMagick در دسترس است (اختیاری)
|
|
| 1134 |
text_minimagick_available: MiniMagick در دسترس است (اختیاری)
|
|
| 1135 | 1135 |
text_convert_available: ImageMagick convert در دسترس است (اختیاری) |
| 1136 | 1136 |
text_destroy_time_entries_question: "%{hours} ساعت روی مسألههایی که میخواهید حذف کنید کار گزارش شده است. میخواهید چه کنید؟"
|
| 1137 | 1137 |
text_destroy_time_entries: ساعتهای گزارش شده حذف شوند |
| config/locales/fi.yml (作業コピー) | ||
|---|---|---|
| 693 | 693 |
project_module_time_tracking: Ajan seuranta |
| 694 | 694 |
text_file_repository_writable: Kirjoitettava tiedostovarasto |
| 695 | 695 |
text_default_administrator_account_changed: Vakio hallinoijan tunnus muutettu |
| 696 |
text_rmagick_available: RMagick saatavilla (valinnainen)
|
|
| 696 |
text_minimagick_available: MiniMagick saatavilla (valinnainen)
|
|
| 697 | 697 |
button_configure: Asetukset |
| 698 | 698 |
label_plugins: Lisäosat |
| 699 | 699 |
label_ldap_authentication: LDAP tunnistautuminen |
| config/locales/fr.yml (作業コピー) | ||
|---|---|---|
| 1140 | 1140 |
text_default_administrator_account_changed: Compte administrateur par défaut changé |
| 1141 | 1141 |
text_file_repository_writable: Répertoire de stockage des fichiers accessible en écriture |
| 1142 | 1142 |
text_plugin_assets_writable: Répertoire public des plugins accessible en écriture |
| 1143 |
text_rmagick_available: Bibliothèque RMagick présente (optionnelle)
|
|
| 1143 |
text_minimagick_available: Bibliothèque MiniMagick présente (optionnelle)
|
|
| 1144 | 1144 |
text_convert_available: Binaire convert de ImageMagick présent (optionel) |
| 1145 | 1145 |
text_destroy_time_entries_question: "%{hours} heures ont été enregistrées sur les demandes à supprimer. Que voulez-vous faire ?"
|
| 1146 | 1146 |
text_destroy_time_entries: Supprimer les heures |
| config/locales/gl.yml (作業コピー) | ||
|---|---|---|
| 777 | 777 |
text_reassign_time_entries: 'Reasignar as horas a esta petición:' |
| 778 | 778 |
text_regexp_info: ex. ^[A-Z0-9]+$ |
| 779 | 779 |
text_repository_usernames_mapping: "Estableza a correspondencia entre os usuarios de Redmine e os presentes no historial do repositorio.\nOs usuarios co mesmo nome ou correo en Redmine e no repositorio serán asociados automaticamente." |
| 780 |
text_rmagick_available: RMagick dispoñíbel (opcional)
|
|
| 780 |
text_minimagick_available: MiniMagick dispoñíbel (opcional)
|
|
| 781 | 781 |
text_select_mail_notifications: Seleccionar os eventos a notificar |
| 782 | 782 |
text_select_project_modules: 'Seleccione os módulos a activar para este proxecto:' |
| 783 | 783 |
text_status_changed_by_changeset: "Aplicado nos cambios %{value}"
|
| config/locales/he.yml (作業コピー) | ||
|---|---|---|
| 861 | 861 |
text_default_administrator_account_changed: מנהל המערכת ברירת המחדל שונה |
| 862 | 862 |
text_file_repository_writable: מאגר הקבצים ניתן לכתיבה |
| 863 | 863 |
text_plugin_assets_writable: ספרית נכסי תוספים ניתנת לכתיבה |
| 864 |
text_rmagick_available: RMagick זמין (רשות)
|
|
| 864 |
text_minimagick_available: MiniMagick זמין (רשות)
|
|
| 865 | 865 |
text_destroy_time_entries_question: "%{hours} שעות דווחו על הנושאים שאתה עומד למחוק. מה ברצונך לעשות?"
|
| 866 | 866 |
text_destroy_time_entries: מחק שעות שדווחו |
| 867 | 867 |
text_assign_time_entries_to_project: הצב שעות שדווחו לפרויקט הזה |
| config/locales/hr.yml (作業コピー) | ||
|---|---|---|
| 823 | 823 |
text_default_administrator_account_changed: Default administrator account changed |
| 824 | 824 |
text_file_repository_writable: Dozvoljeno pisanje u direktorij za privitke |
| 825 | 825 |
text_plugin_assets_writable: Plugin assets directory writable |
| 826 |
text_rmagick_available: RMagick dostupan (nije obavezno)
|
|
| 826 |
text_minimagick_available: MiniMagick dostupan (nije obavezno)
|
|
| 827 | 827 |
text_destroy_time_entries_question: "%{hours} sati je prijavljeno za predmete koje želite obrisati. Što ćete učiniti?"
|
| 828 | 828 |
text_destroy_time_entries: Obriši prijavljene sate |
| 829 | 829 |
text_assign_time_entries_to_project: Pridruži prijavljene sate projektu |
| config/locales/hu.yml (作業コピー) | ||
|---|---|---|
| 693 | 693 |
text_select_project_modules: 'Válassza ki az engedélyezett modulokat ehhez a projekthez:' |
| 694 | 694 |
text_default_administrator_account_changed: Alapértelmezett adminisztrátor fiók megváltoztatva |
| 695 | 695 |
text_file_repository_writable: Fájl tároló írható |
| 696 |
text_rmagick_available: RMagick elérhető (nem kötelező)
|
|
| 696 |
text_minimagick_available: MiniMagick elérhető (nem kötelező)
|
|
| 697 | 697 |
text_destroy_time_entries_question: "%{hours} órányi munka van rögzítve a feladatokon, amiket törölni szeretne. Mit szeretne tenni?"
|
| 698 | 698 |
text_destroy_time_entries: A rögzített órák törlése |
| 699 | 699 |
text_assign_time_entries_to_project: A rögzített órák hozzárendelése a projekthez |
| config/locales/id.yml (作業コピー) | ||
|---|---|---|
| 803 | 803 |
text_default_administrator_account_changed: Akun administrator default sudah berubah |
| 804 | 804 |
text_file_repository_writable: Direktori yang bisa ditulisi untuk lampiran |
| 805 | 805 |
text_plugin_assets_writable: Direktori yang bisa ditulisi untuk plugin asset |
| 806 |
text_rmagick_available: RMagick tersedia (optional)
|
|
| 806 |
text_minimagick_available: MiniMagick tersedia (optional)
|
|
| 807 | 807 |
text_destroy_time_entries_question: "%{hours} jam sudah dilaporkan pada masalah yang akan anda hapus. Apa yang akan anda lakukan ?"
|
| 808 | 808 |
text_destroy_time_entries: Hapus jam yang terlapor |
| 809 | 809 |
text_assign_time_entries_to_project: Tugaskan jam terlapor pada proyek |
| config/locales/it.yml (作業コピー) | ||
|---|---|---|
| 675 | 675 |
project_module_time_tracking: Time tracking |
| 676 | 676 |
text_file_repository_writable: Repository dei file scrivibile |
| 677 | 677 |
text_default_administrator_account_changed: L'account amministrativo predefinito è stato modificato |
| 678 |
text_rmagick_available: RMagick disponibile (opzionale)
|
|
| 678 |
text_minimagick_available: MiniMagick disponibile (opzionale)
|
|
| 679 | 679 |
button_configure: Configura |
| 680 | 680 |
label_plugins: Plugin |
| 681 | 681 |
label_ldap_authentication: Autenticazione LDAP |
| config/locales/ja.yml (作業コピー) | ||
|---|---|---|
| 916 | 916 |
text_default_administrator_account_changed: デフォルト管理アカウントが変更済 |
| 917 | 917 |
text_file_repository_writable: ファイルリポジトリに書き込み可能 |
| 918 | 918 |
text_plugin_assets_writable: Plugin assetsディレクトリに書き込み可能 |
| 919 |
text_rmagick_available: RMagickが利用可能 (オプション)
|
|
| 919 |
text_minimagick_available: MiniMagickが利用可能 (オプション)
|
|
| 920 | 920 |
text_destroy_time_entries_question: このチケットの%{hours}時間分の作業記録の扱いを選択してください。
|
| 921 | 921 |
text_destroy_time_entries: 記録された作業時間を含めて削除 |
| 922 | 922 |
text_assign_time_entries_to_project: 記録された作業時間をプロジェクト自体に割り当て |
| config/locales/ko.yml (作業コピー) | ||
|---|---|---|
| 814 | 814 |
text_default_administrator_account_changed: 기본 관리자 계정이 변경 |
| 815 | 815 |
text_file_repository_writable: 파일 저장소 쓰기 가능 |
| 816 | 816 |
text_plugin_assets_writable: 플러그인 전용 디렉토리가 쓰기 가능 |
| 817 |
text_rmagick_available: RMagick 사용 가능 (선택적)
|
|
| 817 |
text_minimagick_available: MiniMagick 사용 가능 (선택적)
|
|
| 818 | 818 |
text_destroy_time_entries_question: 삭제하려는 일감에 %{hours} 시간이 보고되어 있습니다. 어떻게 하시겠습니까?
|
| 819 | 819 |
text_destroy_time_entries: 보고된 시간을 삭제하기 |
| 820 | 820 |
text_assign_time_entries_to_project: 보고된 시간을 프로젝트에 할당하기 |
| config/locales/lt.yml (作業コピー) | ||
|---|---|---|
| 1095 | 1095 |
text_default_administrator_account_changed: Administratoriaus numatytoji paskyra pakeista |
| 1096 | 1096 |
text_file_repository_writable: Į failų saugyklą saugoti galima (RW) |
| 1097 | 1097 |
text_plugin_assets_writable: Į įskiepių katalogą įrašyti galima |
| 1098 |
text_rmagick_available: RMagick pasiekiamas (pasirinktinai)
|
|
| 1098 |
text_minimagick_available: MiniMagick pasiekiamas (pasirinktinai)
|
|
| 1099 | 1099 |
text_convert_available: ImageMagick konvertavimas galimas (pasirinktinai) |
| 1100 | 1100 |
text_destroy_time_entries_question: "Naikinamam darbui priskirta %{hours} valandų. Ką norite su jomis daryti?"
|
| 1101 | 1101 |
text_destroy_time_entries: Ištrinti įrašytas valandas |
| config/locales/lv.yml (作業コピー) | ||
|---|---|---|
| 829 | 829 |
text_default_administrator_account_changed: Noklusētais administratora konts mainīts |
| 830 | 830 |
text_file_repository_writable: Pielikumu direktorijā atļauts rakstīt |
| 831 | 831 |
text_plugin_assets_writable: Spraudņu kataloga direktorijā atļauts rakstīt |
| 832 |
text_rmagick_available: "RMagick pieejams (neobligāts)"
|
|
| 832 |
text_minimagick_available: "MiniMagick pieejams (neobligāts)"
|
|
| 833 | 833 |
text_destroy_time_entries_question: "%{hours} stundas tika ziņotas par uzdevumu, ko vēlaties dzēst. Ko darīt?"
|
| 834 | 834 |
text_destroy_time_entries: Dzēst ziņotās stundas |
| 835 | 835 |
text_assign_time_entries_to_project: Piešķirt ziņotās stundas projektam |
| config/locales/mk.yml (作業コピー) | ||
|---|---|---|
| 851 | 851 |
text_default_administrator_account_changed: Default administrator account changed |
| 852 | 852 |
text_file_repository_writable: Во папката за прилози може да се запишува |
| 853 | 853 |
text_plugin_assets_writable: Во папката за додатоци може да се запишува |
| 854 |
text_rmagick_available: RMagick available (незадолжително)
|
|
| 854 |
text_minimagick_available: MiniMagick available (незадолжително)
|
|
| 855 | 855 |
text_destroy_time_entries_question: "%{hours} hours were reported on the issues you are about to delete. What do you want to do ?"
|
| 856 | 856 |
text_destroy_time_entries: Delete reported hours |
| 857 | 857 |
text_assign_time_entries_to_project: Додели ги пријавените часови на проектот |
| config/locales/mn.yml (作業コピー) | ||
|---|---|---|
| 835 | 835 |
text_default_administrator_account_changed: Стандарт администраторын бүртгэл өөрчлөгдлөө |
| 836 | 836 |
text_file_repository_writable: Хавсралт файл хадгалах хавтас руу бичих эрхтэй |
| 837 | 837 |
text_plugin_assets_writable: Плагин модулийн ассет хавтас руу бичих эрхтэй |
| 838 |
text_rmagick_available: RMagick суулгагдсан (заавал биш)
|
|
| 838 |
text_minimagick_available: MiniMagick суулгагдсан (заавал биш)
|
|
| 839 | 839 |
text_destroy_time_entries_question: "Таны устгах гэж байгаа асуудлууд дээр нийт %{hours} цаг зарцуулсан юм байна, та яах вэ ?"
|
| 840 | 840 |
text_destroy_time_entries: Мэдэгдсэн цагуудыг устгах |
| 841 | 841 |
text_assign_time_entries_to_project: Мэдэгдсэн асуудлуудыг төсөлд оноох |
| config/locales/nl.yml (作業コピー) | ||
|---|---|---|
| 747 | 747 |
text_reassign_time_entries: 'Gerapporteerde uren opnieuw toewijzen:' |
| 748 | 748 |
text_regexp_info: bv. ^[A-Z0-9]+$ |
| 749 | 749 |
text_repository_usernames_mapping: "Koppel de Redmine-gebruikers aan gebruikers in de repository log.\nGebruikers met dezelfde Redmine en repository gebruikersnaam of e-mail worden automatisch gekoppeld." |
| 750 |
text_rmagick_available: RMagick beschikbaar (optioneel)
|
|
| 750 |
text_minimagick_available: MiniMagick beschikbaar (optioneel)
|
|
| 751 | 751 |
text_select_mail_notifications: Selecteer acties waarvoor mededelingen via e-mail moeten worden verstuurd. |
| 752 | 752 |
text_select_project_modules: 'Selecteer de modules die u wilt gebruiken voor dit project:' |
| 753 | 753 |
text_status_changed_by_changeset: "Toegepast in changeset %{value}."
|
| config/locales/no.yml (作業コピー) | ||
|---|---|---|
| 665 | 665 |
text_select_project_modules: 'Velg moduler du vil aktivere for dette prosjektet:' |
| 666 | 666 |
text_default_administrator_account_changed: Standard administrator-konto er endret |
| 667 | 667 |
text_file_repository_writable: Fil-arkivet er skrivbart |
| 668 |
text_rmagick_available: RMagick er tilgjengelig (valgfritt)
|
|
| 668 |
text_minimagick_available: MiniMagick er tilgjengelig (valgfritt)
|
|
| 669 | 669 |
text_destroy_time_entries_question: "%{hours} timer er ført på sakene du er i ferd med å slette. Hva vil du gjøre ?"
|
| 670 | 670 |
text_destroy_time_entries: Slett førte timer |
| 671 | 671 |
text_assign_time_entries_to_project: Overfør førte timer til prosjektet |
| config/locales/pl.yml (作業コピー) | ||
|---|---|---|
| 775 | 775 |
text_reassign_time_entries: 'Przepnij przepracowany czas do tego zagadnienia:' |
| 776 | 776 |
text_regexp_info: np. ^[A-Z0-9]+$ |
| 777 | 777 |
text_repository_usernames_mapping: "Wybierz lub uaktualnij przyporządkowanie użytkowników Redmine do użytkowników repozytorium.\nUżytkownicy z taką samą nazwą lub adresem e-mail są przyporządkowani automatycznie." |
| 778 |
text_rmagick_available: RMagick dostępne (opcjonalnie)
|
|
| 778 |
text_minimagick_available: MiniMagick dostępne (opcjonalnie)
|
|
| 779 | 779 |
text_select_mail_notifications: Zaznacz czynności przy których użytkownik powinien być powiadomiony e-mailem. |
| 780 | 780 |
text_select_project_modules: 'Wybierz moduły do aktywacji w tym projekcie:' |
| 781 | 781 |
text_status_changed_by_changeset: "Zastosowane w zmianach %{value}."
|
| config/locales/pt-BR.yml (作業コピー) | ||
|---|---|---|
| 709 | 709 |
text_select_project_modules: 'Selecione módulos para habilitar para este projeto:' |
| 710 | 710 |
text_default_administrator_account_changed: Conta padrão do administrador alterada |
| 711 | 711 |
text_file_repository_writable: Repositório com permissão de escrita |
| 712 |
text_rmagick_available: RMagick disponível (opcional)
|
|
| 712 |
text_minimagick_available: MiniMagick disponível (opcional)
|
|
| 713 | 713 |
text_destroy_time_entries_question: "%{hours} horas de trabalho foram registradas nas tarefas que você está excluindo. O que você deseja fazer?"
|
| 714 | 714 |
text_destroy_time_entries: Excluir horas de trabalho |
| 715 | 715 |
text_assign_time_entries_to_project: Atribuir estas horas de trabalho para outro projeto |
| config/locales/pt.yml (作業コピー) | ||
|---|---|---|
| 694 | 694 |
text_select_project_modules: 'Selecione os módulos a ativar para este projeto:' |
| 695 | 695 |
text_default_administrator_account_changed: Conta por omissão de administrador alterada. |
| 696 | 696 |
text_file_repository_writable: Repositório de ficheiros com permissões de escrita |
| 697 |
text_rmagick_available: RMagick disponível (opcional)
|
|
| 697 |
text_minimagick_available: MiniMagick disponível (opcional)
|
|
| 698 | 698 |
text_destroy_time_entries_question: "%{hours} horas de trabalho foram atribuídas a estas tarefas que vai apagar. O que deseja fazer?"
|
| 699 | 699 |
text_destroy_time_entries: Apagar as horas |
| 700 | 700 |
text_assign_time_entries_to_project: Atribuir as horas ao projeto |
| config/locales/ro.yml (作業コピー) | ||
|---|---|---|
| 752 | 752 |
text_default_administrator_account_changed: S-a schimbat contul administratorului implicit |
| 753 | 753 |
text_file_repository_writable: Se poate scrie în directorul de atașamente |
| 754 | 754 |
text_plugin_assets_writable: Se poate scrie în directorul de plugin-uri |
| 755 |
text_rmagick_available: Este disponibil RMagick (opțional)
|
|
| 755 |
text_minimagick_available: Este disponibil MiniMagick (opțional)
|
|
| 756 | 756 |
text_destroy_time_entries_question: "%{hours} ore sunt înregistrate la tichetele pe care doriți să le ștergeți. Ce doriți sa faceți?"
|
| 757 | 757 |
text_destroy_time_entries: Șterge orele înregistrate |
| 758 | 758 |
text_assign_time_entries_to_project: Atribuie orele la proiect |
| config/locales/ru.yml (作業コピー) | ||
|---|---|---|
| 907 | 907 |
text_reassign_time_entries: 'Перенести зарегистрированное время на следующую задачу:' |
| 908 | 908 |
text_regexp_info: "например: ^[A-Z0-9]+$" |
| 909 | 909 |
text_repository_usernames_mapping: "Выберите или обновите пользователя Redmine, связанного с найденными именами в журнале хранилища.\nПользователи с одинаковыми именами или email в Redmine и хранилище связываются автоматически." |
| 910 |
text_rmagick_available: Доступно использование RMagick (опционально)
|
|
| 910 |
text_minimagick_available: Доступно использование MiniMagick (опционально)
|
|
| 911 | 911 |
text_select_mail_notifications: Выберите действия, при которых будет отсылаться уведомление на электронную почту. |
| 912 | 912 |
text_select_project_modules: 'Выберите модули, которые будут использованы в проекте:' |
| 913 | 913 |
text_status_changed_by_changeset: "Реализовано в %{value} редакции."
|
| config/locales/sk.yml (作業コピー) | ||
|---|---|---|
| 667 | 667 |
text_select_project_modules: 'Vybrať moduly povolené v tomto projekte:' |
| 668 | 668 |
text_default_administrator_account_changed: Predvolené nastavenie administrátorského účtu bolo zmenené |
| 669 | 669 |
text_file_repository_writable: Povolený zápis do priečinka s prílohami |
| 670 |
text_rmagick_available: RMagick k dispozícii (voliteľné)
|
|
| 670 |
text_minimagick_available: MiniMagick k dispozícii (voliteľné)
|
|
| 671 | 671 |
text_destroy_time_entries_question: Pri úlohách, ktoré chcete odstrániť, je zaznamenaných %{hours} hodín práce. Čo si želáte urobiť?
|
| 672 | 672 |
text_destroy_time_entries: Odstrániť zaznamenané hodiny |
| 673 | 673 |
text_assign_time_entries_to_project: Priradiť zaznamenané hodiny k projektu |
| config/locales/sl.yml (作業コピー) | ||
|---|---|---|
| 738 | 738 |
text_select_project_modules: 'Izberite module, ki jih želite omogočiti za ta projekt:' |
| 739 | 739 |
text_default_administrator_account_changed: Spremenjen privzeti administratorski račun |
| 740 | 740 |
text_file_repository_writable: Omogočeno pisanje v shrambo datotek |
| 741 |
text_rmagick_available: RMagick je na voljo(neobvezno)
|
|
| 741 |
text_minimagick_available: MiniMagick je na voljo(neobvezno)
|
|
| 742 | 742 |
text_destroy_time_entries_question: "%{hours} ur je bilo opravljenih na zahtevku, ki ga želite izbrisati. Kaj želite storiti?"
|
| 743 | 743 |
text_destroy_time_entries: Izbriši opravljene ure |
| 744 | 744 |
text_assign_time_entries_to_project: Predaj opravljene ure projektu |
| config/locales/sq.yml (作業コピー) | ||
|---|---|---|
| 929 | 929 |
text_default_administrator_account_changed: Default administrator account changed |
| 930 | 930 |
text_file_repository_writable: Attachments directory writable |
| 931 | 931 |
text_plugin_assets_writable: Plugin assets directory writable |
| 932 |
text_rmagick_available: RMagick available (optional)
|
|
| 932 |
text_minimagick_available: MiniMagick available (optional)
|
|
| 933 | 933 |
text_destroy_time_entries_question: "%{hours} hours were reported on the issues you are about to delete. What do you want to do?"
|
| 934 | 934 |
text_destroy_time_entries: Delete reported hours |
| 935 | 935 |
text_assign_time_entries_to_project: Assign reported hours to the project |
| config/locales/sr-YU.yml (作業コピー) | ||
|---|---|---|
| 851 | 851 |
text_default_administrator_account_changed: Podrazumevani administratorski nalog je promenjen |
| 852 | 852 |
text_file_repository_writable: Fascikla priloženih datoteka je upisiva |
| 853 | 853 |
text_plugin_assets_writable: Fascikla elemenata dodatnih komponenti je upisiva |
| 854 |
text_rmagick_available: RMagick je dostupan (opciono)
|
|
| 854 |
text_minimagick_available: MiniMagick je dostupan (opciono)
|
|
| 855 | 855 |
text_destroy_time_entries_question: "%{hours} sati je prijavljeno za ovaj problem koji želite izbrisati. Šta želite da uradite?"
|
| 856 | 856 |
text_destroy_time_entries: Izbriši prijavljene sate |
| 857 | 857 |
text_assign_time_entries_to_project: Dodeli prijavljene sate projektu |
| config/locales/sr.yml (作業コピー) | ||
|---|---|---|
| 849 | 849 |
text_default_administrator_account_changed: Подразумевани администраторски налог је промењен |
| 850 | 850 |
text_file_repository_writable: Фасцикла приложених датотека је уписива |
| 851 | 851 |
text_plugin_assets_writable: Фасцикла елемената додатних компоненти је уписива |
| 852 |
text_rmagick_available: RMagick је доступан (опционо)
|
|
| 852 |
text_minimagick_available: MiniMagick је доступан (опционо)
|
|
| 853 | 853 |
text_destroy_time_entries_question: "%{hours} сати је пријављено за овај проблем који желите избрисати. Шта желите да урадите?"
|
| 854 | 854 |
text_destroy_time_entries: Избриши пријављене сате |
| 855 | 855 |
text_assign_time_entries_to_project: Додели пријављене сате пројекту |
| config/locales/sv.yml (作業コピー) | ||
|---|---|---|
| 1031 | 1031 |
text_default_administrator_account_changed: Standardadministratörens konto ändrat |
| 1032 | 1032 |
text_file_repository_writable: Arkivet för bifogade filer är skrivbart |
| 1033 | 1033 |
text_plugin_assets_writable: Arkivet för plug-ins är skrivbart |
| 1034 |
text_rmagick_available: RMagick tillgängligt (ej obligatoriskt)
|
|
| 1034 |
text_minimagick_available: MiniMagick tillgängligt (ej obligatoriskt)
|
|
| 1035 | 1035 |
text_destroy_time_entries_question: "%{hours} timmar har rapporterats på ärendena du är på väg att ta bort. Vad vill du göra ?"
|
| 1036 | 1036 |
text_destroy_time_entries: Ta bort rapporterade timmar |
| 1037 | 1037 |
text_assign_time_entries_to_project: Tilldela rapporterade timmar till projektet |
| config/locales/th.yml (作業コピー) | ||
|---|---|---|
| 669 | 669 |
text_select_project_modules: 'เลือกส่วนประกอบที่ต้องการใช้งานสำหรับโครงการนี้:' |
| 670 | 670 |
text_default_administrator_account_changed: ค่าเริ่มต้นของบัญชีผู้บริหารจัดการถูกเปลี่ยนแปลง |
| 671 | 671 |
text_file_repository_writable: ที่เก็บต้นฉบับสามารถเขียนได้ |
| 672 |
text_rmagick_available: RMagick มีให้ใช้ (เป็นตัวเลือก)
|
|
| 672 |
text_minimagick_available: MiniMagick มีให้ใช้ (เป็นตัวเลือก)
|
|
| 673 | 673 |
text_destroy_time_entries_question: "%{hours} ชั่วโมงที่ถูกแจ้งในปัญหานี้จะโดนลบ. คุณต้องการทำอย่างไร?"
|
| 674 | 674 |
text_destroy_time_entries: ลบเวลาที่รายงานไว้ |
| 675 | 675 |
text_assign_time_entries_to_project: ระบุเวลาที่ใช้ในโครงการนี้ |
| config/locales/tr.yml (作業コピー) | ||
|---|---|---|
| 684 | 684 |
text_select_project_modules: 'Bu proje için etkinleştirmek istediğiniz modülleri seçin:' |
| 685 | 685 |
text_default_administrator_account_changed: Varsayılan yönetici hesabı değişti |
| 686 | 686 |
text_file_repository_writable: Dosya deposu yazılabilir |
| 687 |
text_rmagick_available: RMagick Kullanılabilir (isteğe bağlı)
|
|
| 687 |
text_minimagick_available: MiniMagick Kullanılabilir (isteğe bağlı)
|
|
| 688 | 688 |
text_destroy_time_entries_question: Silmek üzere olduğunuz işler üzerine %{hours} saat raporlandı.Ne yapmak istersiniz ?
|
| 689 | 689 |
text_destroy_time_entries: Raporlanmış süreleri sil |
| 690 | 690 |
text_assign_time_entries_to_project: Raporlanmış süreleri projeye ata |
| config/locales/uk.yml (作業コピー) | ||
|---|---|---|
| 686 | 686 |
project_module_time_tracking: Відстеження часу |
| 687 | 687 |
text_file_repository_writable: Сховище файлів доступне для записів |
| 688 | 688 |
text_default_administrator_account_changed: Обліковий запис адміністратора по замовчуванню змінений |
| 689 |
text_rmagick_available: Доступно використання RMagick (опційно)
|
|
| 689 |
text_minimagick_available: Доступно використання MiniMagick (опційно)
|
|
| 690 | 690 |
button_configure: Налаштування |
| 691 | 691 |
label_plugins: Модулі |
| 692 | 692 |
label_ldap_authentication: Авторизація за допомогою LDAP |
| config/locales/vi.yml (作業コピー) | ||
|---|---|---|
| 738 | 738 |
text_select_project_modules: 'Chọn các module cho dự án:' |
| 739 | 739 |
text_default_administrator_account_changed: Thay đổi tài khoản quản trị mặc định |
| 740 | 740 |
text_file_repository_writable: Cho phép ghi thư mục đính kèm |
| 741 |
text_rmagick_available: Trạng thái RMagick
|
|
| 741 |
text_minimagick_available: Trạng thái MiniMagick
|
|
| 742 | 742 |
text_destroy_time_entries_question: "Thời gian %{hours} giờ đã báo cáo trong vấn đề bạn định xóa. Bạn muốn làm gì tiếp ?"
|
| 743 | 743 |
text_destroy_time_entries: Xóa thời gian báo cáo |
| 744 | 744 |
text_assign_time_entries_to_project: Gán thời gian báo cáo cho dự án |
| config/locales/zh-TW.yml (作業コピー) | ||
|---|---|---|
| 1217 | 1217 |
text_default_administrator_account_changed: 已變更預設管理員帳號內容 |
| 1218 | 1218 |
text_file_repository_writable: 可寫入附加檔案目錄 |
| 1219 | 1219 |
text_plugin_assets_writable: 可寫入外掛程式目錄 |
| 1220 |
text_rmagick_available: 可使用 RMagick (選配)
|
|
| 1220 |
text_minimagick_available: 可使用 MiniMagick (選配)
|
|
| 1221 | 1221 |
text_convert_available: 可使用 ImageMagick 轉換圖片格式 (選配) |
| 1222 | 1222 |
text_destroy_time_entries_question: 您即將刪除的議題已報工 %{hours} 小時. 您的選擇是?
|
| 1223 | 1223 |
text_destroy_time_entries: 刪除已報工的時數 |
| config/locales/zh.yml (作業コピー) | ||
|---|---|---|
| 872 | 872 |
text_default_administrator_account_changed: 默认的管理员帐号已改变 |
| 873 | 873 |
text_file_repository_writable: 附件路径可写 |
| 874 | 874 |
text_plugin_assets_writable: 插件的附件路径可写 |
| 875 |
text_rmagick_available: RMagick 可用(可选的)
|
|
| 875 |
text_minimagick_available: MiniMagick 可用(可选的)
|
|
| 876 | 876 |
text_destroy_time_entries_question: 您要删除的问题已经上报了 %{hours} 小时的工作量。您想进行那种操作?
|
| 877 | 877 |
text_destroy_time_entries: 删除上报的工作量 |
| 878 | 878 |
text_assign_time_entries_to_project: 将已上报的工作量提交到项目中 |
| lib/redmine/helpers/gantt.rb (作業コピー) | ||
|---|---|---|
| 359 | 359 |
end |
| 360 | 360 | |
| 361 | 361 |
# Generates a gantt image |
| 362 |
# Only defined if RMagick is avalaible
|
|
| 362 |
# Only defined if MiniMagick is avalaible
|
|
| 363 | 363 |
def to_image(format='PNG') |
| 364 | 364 |
date_to = (@date_from >> @months) - 1 |
| 365 | 365 |
show_weeks = @zoom > 1 |
| ... | ... | |
| 372 | 372 |
g_height = 20 * number_of_rows + 30 |
| 373 | 373 |
headers_height = (show_weeks ? 2 * header_height : header_height) |
| 374 | 374 |
height = g_height + headers_height |
| 375 |
imgl = Magick::ImageList.new |
|
| 376 |
imgl.new_image(subject_width + g_width + 1, height) |
|
| 377 |
gc = Magick::Draw.new |
|
| 378 |
gc.font = Redmine::Configuration['rmagick_font_path'] || "" |
|
| 379 |
# Subjects |
|
| 380 |
gc.stroke('transparent')
|
|
| 381 |
subjects(:image => gc, :top => (headers_height + 20), :indent => 4, :format => :image) |
|
| 382 |
# Months headers |
|
| 383 |
month_f = @date_from |
|
| 384 |
left = subject_width |
|
| 385 |
@months.times do |
|
| 386 |
width = ((month_f >> 1) - month_f) * zoom |
|
| 387 |
gc.fill('white')
|
|
| 388 |
gc.stroke('grey')
|
|
| 389 |
gc.stroke_width(1) |
|
| 390 |
gc.rectangle(left, 0, left + width, height) |
|
| 391 |
gc.fill('black')
|
|
| 375 |
# TODO: Remove rmagick_font_path in a later version |
|
| 376 |
Rails.logger.warn('rmagick_font_path option is deprecated. Use minimagick_font_path instead.') \
|
|
| 377 |
unless Redmine::Configuration['rmagick_font_path'].nil? |
|
| 378 |
font_path = Redmine::Configuration['minimagick_font_path'].presence || Redmine::Configuration['rmagick_font_path'].presence |
|
| 379 | ||
| 380 |
img = MiniMagick::Image.create(".#{format}", false)
|
|
| 381 |
MiniMagick::Tool::Convert.new do |gc| |
|
| 382 |
gc.size('%dx%d' % [subject_width + g_width + 1, height])
|
|
| 383 |
gc.xc('white')
|
|
| 384 |
gc.font(font_path) if font_path.present? |
|
| 385 |
# Subjects |
|
| 392 | 386 |
gc.stroke('transparent')
|
| 393 |
gc.stroke_width(1) |
|
| 394 |
gc.text(left.round + 8, 14, "#{month_f.year}-#{month_f.month}")
|
|
| 395 |
left = left + width |
|
| 396 |
month_f = month_f >> 1 |
|
| 397 |
end |
|
| 398 |
# Weeks headers |
|
| 399 |
if show_weeks |
|
| 387 |
subjects(:image => gc, :top => (headers_height + 20), :indent => 4, :format => :image) |
|
| 388 |
# Months headers |
|
| 389 |
month_f = @date_from |
|
| 400 | 390 |
left = subject_width |
| 401 |
height = header_height |
|
| 402 |
if @date_from.cwday == 1 |
|
| 403 |
# date_from is monday |
|
| 404 |
week_f = date_from |
|
| 405 |
else |
|
| 406 |
# find next monday after date_from |
|
| 407 |
week_f = @date_from + (7 - @date_from.cwday + 1) |
|
| 408 |
width = (7 - @date_from.cwday + 1) * zoom |
|
| 391 |
@months.times do |
|
| 392 |
width = ((month_f >> 1) - month_f) * zoom |
|
| 409 | 393 |
gc.fill('white')
|
| 410 | 394 |
gc.stroke('grey')
|
| 411 |
gc.stroke_width(1) |
|
| 412 |
gc.rectangle(left, header_height, left + width, 2 * header_height + g_height - 1) |
|
| 413 |
left = left + width |
|
| 414 |
end |
|
| 415 |
while week_f <= date_to |
|
| 416 |
width = (week_f + 6 <= date_to) ? 7 * zoom : (date_to - week_f + 1) * zoom |
|
| 417 |
gc.fill('white')
|
|
| 418 |
gc.stroke('grey')
|
|
| 419 |
gc.stroke_width(1) |
|
| 420 |
gc.rectangle(left.round, header_height, left.round + width, 2 * header_height + g_height - 1) |
|
| 395 |
gc.strokewidth(1) |
|
| 396 |
gc.draw('rectangle %d,%d %d,%d' % [
|
|
| 397 |
left, 0, left + width, height |
|
| 398 |
]) |
|
| 421 | 399 |
gc.fill('black')
|
| 422 | 400 |
gc.stroke('transparent')
|
| 423 |
gc.stroke_width(1) |
|
| 424 |
gc.text(left.round + 2, header_height + 14, week_f.cweek.to_s) |
|
| 401 |
gc.strokewidth(1) |
|
| 402 |
gc.draw('text %d,%d %s' % [
|
|
| 403 |
left.round + 8, 14, Redmine::Utils::Shell::shell_quote("#{month_f.year}-#{month_f.month}")
|
|
| 404 |
]) |
|
| 425 | 405 |
left = left + width |
| 426 |
week_f = week_f + 7
|
|
| 406 |
month_f = month_f >> 1
|
|
| 427 | 407 |
end |
| 428 |
end |
|
| 429 |
# Days details (week-end in grey) |
|
| 430 |
if show_days |
|
| 431 |
left = subject_width |
|
| 432 |
height = g_height + header_height - 1 |
|
| 433 |
wday = @date_from.cwday |
|
| 434 |
(date_to - @date_from + 1).to_i.times do |
|
| 435 |
width = zoom |
|
| 436 |
gc.fill(non_working_week_days.include?(wday) ? '#eee' : 'white') |
|
| 437 |
gc.stroke('#ddd')
|
|
| 438 |
gc.stroke_width(1) |
|
| 439 |
gc.rectangle(left, 2 * header_height, left + width, 2 * header_height + g_height - 1) |
|
| 440 |
left = left + width |
|
| 441 |
wday = wday + 1 |
|
| 442 |
wday = 1 if wday > 7 |
|
| 408 |
# Weeks headers |
|
| 409 |
if show_weeks |
|
| 410 |
left = subject_width |
|
| 411 |
height = header_height |
|
| 412 |
if @date_from.cwday == 1 |
|
| 413 |
# date_from is monday |
|
| 414 |
week_f = date_from |
|
| 415 |
else |
|
| 416 |
# find next monday after date_from |
|
| 417 |
week_f = @date_from + (7 - @date_from.cwday + 1) |
|
| 418 |
width = (7 - @date_from.cwday + 1) * zoom |
|
| 419 |
gc.fill('white')
|
|
| 420 |
gc.stroke('grey')
|
|
| 421 |
gc.strokewidth(1) |
|
| 422 |
gc.draw('rectangle %d,%d %d,%d' % [
|
|
| 423 |
left, header_height, left + width, 2 * header_height + g_height - 1 |
|
| 424 |
]) |
|
| 425 |
left = left + width |
|
| 426 |
end |
|
| 427 |
while week_f <= date_to |
|
| 428 |
width = (week_f + 6 <= date_to) ? 7 * zoom : (date_to - week_f + 1) * zoom |
|
| 429 |
gc.fill('white')
|
|
| 430 |
gc.stroke('grey')
|
|
| 431 |
gc.strokewidth(1) |
|
| 432 |
gc.draw('rectangle %d,%d %d,%d' % [
|
|
| 433 |
left.round, header_height, left.round + width, 2 * header_height + g_height - 1 |
|
| 434 |
]) |
|
| 435 |
gc.fill('black')
|
|
| 436 |
gc.stroke('transparent')
|
|
| 437 |
gc.strokewidth(1) |
|
| 438 |
gc.draw('text %d,%d %s' % [
|
|
| 439 |
left.round + 2, header_height + 14, Redmine::Utils::Shell::shell_quote(week_f.cweek.to_s) |
|
| 440 |
]) |
|
| 441 |
left = left + width |
|
| 442 |
week_f = week_f + 7 |
|
| 443 |
end |
|
| 443 | 444 |
end |
| 445 |
# Days details (week-end in grey) |
|
| 446 |
if show_days |
|
| 447 |
left = subject_width |
|
| 448 |
height = g_height + header_height - 1 |
|
| 449 |
wday = @date_from.cwday |
|
| 450 |
(date_to - @date_from + 1).to_i.times do |
|
| 451 |
width = zoom |
|
| 452 |
gc.fill(non_working_week_days.include?(wday) ? '#eee' : 'white') |
|
| 453 |
gc.stroke('#ddd')
|
|
| 454 |
gc.strokewidth(1) |
|
| 455 |
gc.draw('rectangle %d,%d %d,%d' % [
|
|
| 456 |
left, 2 * header_height, left + width, 2 * header_height + g_height - 1 |
|
| 457 |
]) |
|
| 458 |
left = left + width |
|
| 459 |
wday = wday + 1 |
|
| 460 |
wday = 1 if wday > 7 |
|
| 461 |
end |
|
| 462 |
end |
|
| 463 |
# border |
|
| 464 |
gc.fill('transparent')
|
|
| 465 |
gc.stroke('grey')
|
|
| 466 |
gc.strokewidth(1) |
|
| 467 |
gc.draw('rectangle %d,%d %d,%d' % [
|
|
| 468 |
0, 0, subject_width + g_width, headers_height |
|
| 469 |
]) |
|
| 470 |
gc.stroke('black')
|
|
| 471 |
gc.draw('rectangle %d,%d %d,%d' % [
|
|
| 472 |
0, 0, subject_width + g_width, g_height + headers_height - 1 |
|
| 473 |
]) |
|
| 474 |
# content |
|
| 475 |
top = headers_height + 20 |
|
| 476 |
gc.stroke('transparent')
|
|
| 477 |
lines(:image => gc, :top => top, :zoom => zoom, |
|
| 478 |
:subject_width => subject_width, :format => :image) |
|
| 479 |
# today red line |
|
| 480 |
if User.current.today >= @date_from and User.current.today <= date_to |
|
| 481 |
gc.stroke('red')
|
|
| 482 |
x = (User.current.today - @date_from + 1) * zoom + subject_width |
|
| 483 |
gc.draw('line %g,%g %g,%g' % [
|
|
| 484 |
x, headers_height, x, headers_height + g_height - 1 |
|
| 485 |
]) |
|
| 486 |
end |
|
| 487 |
gc << img.path |
|
| 444 | 488 |
end |
| 445 |
# border |
|
| 446 |
gc.fill('transparent')
|
|
| 447 |
gc.stroke('grey')
|
|
| 448 |
gc.stroke_width(1) |
|
| 449 |
gc.rectangle(0, 0, subject_width + g_width, headers_height) |
|
| 450 |
gc.stroke('black')
|
|
| 451 |
gc.rectangle(0, 0, subject_width + g_width, g_height + headers_height - 1) |
|
| 452 |
# content |
|
| 453 |
top = headers_height + 20 |
|
| 454 |
gc.stroke('transparent')
|
|
| 455 |
lines(:image => gc, :top => top, :zoom => zoom, |
|
| 456 |
:subject_width => subject_width, :format => :image) |
|
| 457 |
# today red line |
|
| 458 |
if User.current.today >= @date_from and User.current.today <= date_to |
|
| 459 |
gc.stroke('red')
|
|
| 460 |
x = (User.current.today - @date_from + 1) * zoom + subject_width |
|
| 461 |
gc.line(x, headers_height, x, headers_height + g_height - 1) |
|
| 462 |
end |
|
| 463 |
gc.draw(imgl) |
|
| 464 |
imgl.format = format |
|
| 465 |
imgl.to_blob |
|
| 466 |
end if Object.const_defined?(:Magick) |
|
| 489 |
img.to_blob |
|
| 490 |
ensure |
|
| 491 |
img.destroy! if img |
|
| 492 |
end if Object.const_defined?(:MiniMagick) |
|
| 467 | 493 | |
| 468 | 494 |
def to_pdf |
| 469 | 495 |
pdf = ::Redmine::Export::PDF::ITCPDF.new(current_language) |
| ... | ... | |
| 775 | 801 |
def image_subject(params, subject, options={})
|
| 776 | 802 |
params[:image].fill('black')
|
| 777 | 803 |
params[:image].stroke('transparent')
|
| 778 |
params[:image].stroke_width(1) |
|
| 779 |
params[:image].text(params[:indent], params[:top] + 2, subject) |
|
| 804 |
params[:image].strokewidth(1) |
|
| 805 |
params[:image].draw('text %d,%d %s' % [
|
|
| 806 |
params[:indent], params[:top] + 2, Redmine::Utils::Shell::shell_quote(subject) |
|
| 807 |
]) |
|
| 780 | 808 |
end |
| 781 | 809 | |
| 782 | 810 |
def issue_relations(issue) |
| ... | ... | |
| 962 | 990 |
# Renders the task bar, with progress and late |
| 963 | 991 |
if coords[:bar_start] && coords[:bar_end] |
| 964 | 992 |
params[:image].fill('#aaa')
|
| 965 |
params[:image].rectangle(params[:subject_width] + coords[:bar_start], |
|
| 966 |
params[:top], |
|
| 967 |
params[:subject_width] + coords[:bar_end], |
|
| 968 |
params[:top] - height) |
|
| 993 |
params[:image].draw('rectangle %d,%d %d,%d' % [
|
|
| 994 |
params[:subject_width] + coords[:bar_start], |
|
| 995 |
params[:top], |
|
| 996 |
params[:subject_width] + coords[:bar_end], |
|
| 997 |
params[:top] - height |
|
| 998 |
]) |
|
| 969 | 999 |
if coords[:bar_late_end] |
| 970 | 1000 |
params[:image].fill('#f66')
|
| 971 |
params[:image].rectangle(params[:subject_width] + coords[:bar_start], |
|
| 972 |
params[:top], |
|
| 973 |
params[:subject_width] + coords[:bar_late_end], |
|
| 974 |
params[:top] - height) |
|
| 1001 |
params[:image].draw('rectangle %d,%d %d,%d' % [
|
|
| 1002 |
params[:subject_width] + coords[:bar_start], |
|
| 1003 |
params[:top], |
|
| 1004 |
params[:subject_width] + coords[:bar_late_end], |
|
| 1005 |
params[:top] - height |
|
| 1006 |
]) |
|
| 975 | 1007 |
end |
| 976 | 1008 |
if coords[:bar_progress_end] |
| 977 | 1009 |
params[:image].fill('#00c600')
|
| 978 |
params[:image].rectangle(params[:subject_width] + coords[:bar_start], |
|
| 979 |
params[:top], |
|
| 980 |
params[:subject_width] + coords[:bar_progress_end], |
|
| 981 |
params[:top] - height) |
|
| 1010 |
params[:image].draw('rectangle %d,%d %d,%d' % [
|
|
| 1011 |
params[:subject_width] + coords[:bar_start], |
|
| 1012 |
params[:top], |
|
| 1013 |
params[:subject_width] + coords[:bar_progress_end], |
|
| 1014 |
params[:top] - height |
|
| 1015 |
]) |
|
| 982 | 1016 |
end |
| 983 | 1017 |
end |
| 984 | 1018 |
# Renders the markers |
| ... | ... | |
| 987 | 1021 |
x = params[:subject_width] + coords[:start] |
| 988 | 1022 |
y = params[:top] - height / 2 |
| 989 | 1023 |
params[:image].fill('blue')
|
| 990 |
params[:image].polygon(x - 4, y, x, y - 4, x + 4, y, x, y + 4) |
|
| 1024 |
params[:image].draw('polygon %d,%d %d,%d %d,%d %d,%d' % [
|
|
| 1025 |
x - 4, y, |
|
| 1026 |
x, y - 4, |
|
| 1027 |
x + 4, y, |
|
| 1028 |
x, y + 4 |
|
| 1029 |
]) |
|
| 991 | 1030 |
end |
| 992 | 1031 |
if coords[:end] |
| 993 | 1032 |
x = params[:subject_width] + coords[:end] + params[:zoom] |
| 994 | 1033 |
y = params[:top] - height / 2 |
| 995 | 1034 |
params[:image].fill('blue')
|
| 996 |
params[:image].polygon(x - 4, y, x, y - 4, x + 4, y, x, y + 4) |
|
| 1035 |
params[:image].draw('polygon %d,%d %d,%d %d,%d %d,%d' % [
|
|
| 1036 |
x - 4, y, |
|
| 1037 |
x, y - 4, |
|
| 1038 |
x + 4, y, |
|
| 1039 |
x, y + 4 |
|
| 1040 |
]) |
|
| 997 | 1041 |
end |
| 998 | 1042 |
end |
| 999 | 1043 |
# Renders the label on the right |
| 1000 | 1044 |
if label |
| 1001 | 1045 |
params[:image].fill('black')
|
| 1002 |
params[:image].text(params[:subject_width] + (coords[:bar_end] || 0) + 5,
|
|
| 1003 |
params[:top] + 1,
|
|
| 1004 |
label)
|
|
| 1046 |
params[:image].draw('text %d,%d %s' % [
|
|
| 1047 |
params[:subject_width] + (coords[:bar_end] || 0) + 5, params[:top] + 1, Redmine::Utils::Shell::shell_quote(label)
|
|
| 1048 |
])
|
|
| 1005 | 1049 |
end |
| 1006 | 1050 |
end |
| 1007 | 1051 |
end |
| lib/redmine.rb (作業コピー) | ||
|---|---|---|
| 20 | 20 |
require 'redmine/core_ext' |
| 21 | 21 | |
| 22 | 22 |
begin |
| 23 |
require 'rmagick' unless Object.const_defined?(:Magick)
|
|
| 23 |
require 'mini_magick' unless Object.const_defined?(:MiniMagick)
|
|
| 24 | 24 |
rescue LoadError |
| 25 |
# RMagick is not available
|
|
| 25 |
# MiniMagick is not available
|
|
| 26 | 26 |
end |
| 27 | 27 |
begin |
| 28 | 28 |
require 'redcarpet' unless Object.const_defined?(:Redcarpet) |
| test/functional/gantts_controller_test.rb (作業コピー) | ||
|---|---|---|
| 155 | 155 |
assert @response.body.starts_with?('%PDF')
|
| 156 | 156 |
end |
| 157 | 157 | |
| 158 |
if Object.const_defined?(:Magick) |
|
| 158 |
if Object.const_defined?(:MiniMagick)
|
|
| 159 | 159 |
def test_gantt_should_export_to_png |
| 160 | 160 |
get :show, :params => {
|
| 161 | 161 |
:project_id => 1, |
- « Previous
- 1
- 2
- 3
- 4
- Next »