From ab849c47d3ea139a74d03671e84d0b411a4597a1 Mon Sep 17 00:00:00 2001 From: António Pereira Date: Tue, 3 Oct 2017 08:33:01 +0100 Subject: Update pt_PT/translations.php --- app/Locale/pt_PT/translations.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'app') diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php index ea6eef98..25f8ff4a 100644 --- a/app/Locale/pt_PT/translations.php +++ b/app/Locale/pt_PT/translations.php @@ -521,19 +521,19 @@ return array( 'Compact/wide view' => 'Alternar entre a vista compacta e ampliada', 'Currency' => 'Moeda', 'Private project' => 'Projeto privado', - 'AUD - Australian Dollar' => 'AUD - Dólar australiano', - 'CAD - Canadian Dollar' => 'CAD - Dólar canadense', + 'AUD - Australian Dollar' => 'AUD - Dólar Australiano', + 'CAD - Canadian Dollar' => 'CAD - Dólar Canadense', 'CHF - Swiss Francs' => 'CHF - Francos Suíços', 'Custom Stylesheet' => 'Folha de estilos personalizada', 'download' => 'transferir', 'EUR - Euro' => 'EUR - Euro', 'GBP - British Pound' => 'GBP - Libra Esterlina', - 'INR - Indian Rupee' => 'INR - Rúpia indiana', - 'JPY - Japanese Yen' => 'JPY - Iene japonês', + 'INR - Indian Rupee' => 'INR - Rúpia Indiana', + 'JPY - Japanese Yen' => 'JPY - Iene Japonês', 'NZD - New Zealand Dollar' => 'NZD - Dólar Neozelandês', - 'RSD - Serbian dinar' => 'RSD - Dinar sérvio', - // 'CNY - Chinese Yuan' => '', - 'USD - US Dollar' => 'USD - Dólar norte-americano', + 'RSD - Serbian dinar' => 'RSD - Dinar Sérvio', + 'CNY - Chinese Yuan' => 'CNY - Yuan Chinês', + 'USD - US Dollar' => 'USD - Dólar Norte-americano', 'Destination column' => 'Coluna de destino', 'Move the task to another column when assigned to a user' => 'Mover a tarefa para uma outra coluna quando esta está atribuída a um utilizador', 'Move the task to another column when assignee is cleared' => 'Mover a tarefa para uma outra coluna quando esta não está atribuída', @@ -570,7 +570,7 @@ return array( 'Add a screenshot' => 'Adicionar uma Screenshot', 'Take a screenshot and press CTRL+V or ⌘+V to paste here.' => 'Tire um screenshot e pressione CTRL + V ou ⌘ + V para colar aqui.', 'Screenshot uploaded successfully.' => 'Screenshot enviada com sucesso.', - 'SEK - Swedish Krona' => 'SEK - Coroa sueca', + 'SEK - Swedish Krona' => 'SEK - Coroa Sueca', 'Identifier' => 'Identificador', 'Disable two factor authentication' => 'Desactivar autenticação com dois factores', 'Do you really want to disable the two factor authentication for this user: "%s"?' => 'Tem a certeza que quer desactivar a autenticação com dois factores para esse utilizador: "%s"?', @@ -1338,6 +1338,6 @@ return array( 'This task was sent by email to "%s" with subject "%s".' => 'Esta tarefa foi enviada por email para "%s" com o assunto "%s".', 'Predefined Email Subjects' => 'Assuntos de email predefinidos', 'Write one subject by line.' => 'Escreva um assunto por linha.', - // 'Create another link' => '', - // 'BRL - Brazilian Real' => '', + 'Create another link' => 'Criar outro link', + 'BRL - Brazilian Real' => 'BRL - Real Brasileiro', ); -- cgit v1.2.3 From 1d5811ed0c9d42c379fa495a52deea469ecd422d Mon Sep 17 00:00:00 2001 From: Nuri Akman Date: Tue, 3 Oct 2017 21:09:02 -0700 Subject: Update Turkish translation --- app/Locale/tr_TR/translations.php | 326 +++++++++++++++++++------------------- 1 file changed, 163 insertions(+), 163 deletions(-) (limited to 'app') diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php index 878188ca..7f55634f 100644 --- a/app/Locale/tr_TR/translations.php +++ b/app/Locale/tr_TR/translations.php @@ -1,8 +1,8 @@ '', - // 'number.thousands_separator' => '', + 'number.decimals_separator' => '.', + 'number.thousands_separator' => ',', 'None' => 'Hiçbiri', 'Edit' => 'Düzenle', 'Remove' => 'Sil', @@ -71,8 +71,8 @@ return array( 'Settings' => 'Ayarlar', 'Application settings' => 'Uygulama ayarları', 'Language' => 'Dil', - // 'Webhook token:' => '', - 'API token:' => 'API belirteci:', + 'Webhook token:' => 'Web kancası anahtarı:', + 'API token:' => 'API anahtarı:', 'Database size:' => 'Veritabanı boyutu :', 'Download the database' => 'Veritabanını indir', 'Optimize the database' => 'Veritabanını optimize et', @@ -373,7 +373,7 @@ return array( 'Database driver:' => 'Veritabanı sürücüsü:', 'Board settings' => 'Pano ayarları', 'Webhook settings' => 'Webhook ayarları', - 'Reset token' => 'Belirteci sıfırla', + 'Reset token' => 'Anahtarı sıfırla', 'API endpoint:' => 'API bitiş noktası:', 'Refresh interval for private board' => 'Özel panolar için yenileme sıklığı', 'Refresh interval for public board' => 'Dışa açık panolar için yenileme sıklığı', @@ -382,7 +382,7 @@ return array( 'Frequency in second (60 seconds by default)' => 'Saniye olarak frekans (varsayılan 60 saniye)', 'Frequency in second (0 to disable this feature, 10 seconds by default)' => 'Saniye olarak frekans (Bu özelliği iptal etmek için 0, varsayılan değer 10 saniye)', 'Application URL' => 'Uygulama URL', - 'Token regenerated.' => 'Beliteç yeniden oluşturuldu.', + 'Token regenerated.' => 'Anahtar yeniden oluşturuldu.', 'Date format' => 'Tarih formatı', 'ISO format is always accepted, example: "%s" and "%s"' => 'ISO formatı her zaman kabul edilir, örneğin: "%s" ve "%s"', 'New private project' => 'Yeni özel proje', @@ -393,11 +393,11 @@ return array( 'There is nothing assigned to you.' => 'Size atanan hiçbir şey yok.', 'My tasks' => 'Görevlerim', 'Activity stream' => 'Güncel olay akışı', - 'Dashboard' => 'Anasayfa', + 'Dashboard' => 'Pano', 'Confirmation' => 'Onay', 'Allow everybody to access to this project' => 'Bu projeye herkesin erişimine izin ver', 'Everybody have access to this project.' => 'Bu projeye herkesin erişimi var.', - 'Webhooks' => 'Webhooks', + 'Webhooks' => 'Web Kancaları', 'API' => 'API', 'Create a comment from an external provider' => 'Dış sağlayıcı ile bir yorum oluştur', 'Project management' => 'Proje yönetimi', @@ -526,14 +526,14 @@ return array( 'CHF - Swiss Francs' => 'CHF - İsviçre Frangı', 'Custom Stylesheet' => 'Özel Sitil Css', 'download' => 'indir', - // 'EUR - Euro' => '', + 'EUR - Euro' => 'EUR - Euro', 'GBP - British Pound' => 'GBP - İngiliz Paund', 'INR - Indian Rupee' => 'INR - Hint Rupesi', 'JPY - Japanese Yen' => 'JPY - Japon Yeni', 'NZD - New Zealand Dollar' => 'NZD - Yeni Zelanda Doları', - // 'RSD - Serbian dinar' => '', - // 'CNY - Chinese Yuan' => '', - 'USD - US Dollar' => 'USD$ Amerikan Doları', + 'RSD - Serbian dinar' => 'Sırp Dinarı', + 'CNY - Chinese Yuan' => 'Çin Yuanı', + 'USD - US Dollar' => 'USD Amerikan Doları', 'Destination column' => 'Hedef Sütun', 'Move the task to another column when assigned to a user' => 'Bir kullanıcıya atandığında görevi başka bir sütuna taşı', 'Move the task to another column when assignee is cleared' => 'Atanmış kullanıcı kaldırıldığında görevi başka bir sütuna taşı', @@ -550,7 +550,7 @@ return array( 'Reference currency' => 'Referans kur', 'The currency rate have been added successfully.' => 'Kur başarıyla eklendi', 'Unable to add this currency rate.' => 'Bu kur eklenemedi', - // 'Webhook URL' => '', + 'Webhook URL' => 'Web kancası URL', '%s removed the assignee of the task %s' => '%s, %s görevinin atanan bilgisini kaldırdı', 'Information' => 'Bilgi', 'Check two factor authentication code' => 'Çift-Kademeli doğrulama kodunu kontrol et', @@ -910,9 +910,9 @@ return array( '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '"%s" sütunu ve "%s" kulvarındaki %d görev kapatılacak.', 'Close all tasks of this column' => 'Bu sütundaki tüm görevleri kapat', 'No plugin has registered a project notification method. You can still configure individual notifications in your user profile.' => 'Proje bildirimleri için hiçbir plugin kaydedilmedi. Yine de profil sayfanızdan bildirim ayarları yapabilirsiniz.', - 'My dashboard' => 'Dashboard um', + 'My dashboard' => 'Panom', 'My profile' => 'Profilim', - 'Project owner: ' => 'Proje sahibi', + 'Project owner: ' => 'Proje sahibi: ', 'The project identifier is optional and must be alphanumeric, example: MYPROJECT.' => 'Proje kodu opsiyoneldir ve alfanümerik olmalıdır, örneğin: PROJE1', 'Project owner' => 'Proje sahibi', 'Private projects do not have users and groups management.' => '(Kişiye) Özel projelerde kullanıcı ve grup yönetimi yoktur.', @@ -1012,7 +1012,7 @@ return array( 'Change subtask position' => 'Alt görev sırasını değiştir', 'This value must be greater than %d' => 'Bu değer %d den büyük olmalı', 'Another swimlane with the same name exists in the project' => 'Projede aynı isimli başka bir kulvar var', - 'Example: http://example.kanboard.net/ (used to generate absolute URLs)' => 'Örneğin: http://ornek.dediteknoloji.com/ (sabit URLler oluşturmak için)', + 'Example: http://example.kanboard.net/ (used to generate absolute URLs)' => 'Örneğin: http://ornek.kanboard.net/ (sabit URLler oluşturmak için)', 'Actions duplicated successfully.' => 'İşlemler başarıyla çoklandı.', 'Unable to duplicate actions.' => 'İşlemler çoklanamıyor.', 'Add a new action' => 'Yeni bir işlem ekle', @@ -1034,7 +1034,7 @@ return array( 'Display list of keyboard shortcuts' => 'Kısayol tuşları listesini göster', 'Menu' => 'Menü', 'Set start date' => 'Başlangıç tarihi belirle', - // 'Avatar' => '', + 'Avatar' => 'Simge', 'Upload my avatar image' => 'Avatar resmimi yükle', 'Remove my image' => 'Resmimi kaldır', 'The OAuth2 state parameter is invalid' => 'OAuth2 durum parametresi geçersiz', @@ -1055,29 +1055,29 @@ return array( 'Assign automatically a color based on a priority' => 'Önceliğe bağlı olarak bir renk belirle', 'Overdue tasks for the project(s) "%s"' => '%s proje(leri) için süresi geçen görevler', 'Upload files' => 'Dosyaları yükle', - 'Installed Plugins' => 'Yüklenmiş Pluginler', - 'Plugin Directory' => 'Plugin Klasörü', - 'Plugin installed successfully.' => 'Plugin başarıyla kuruldu.', - 'Plugin updated successfully.' => 'Plugin başarıyla güncellendi.', - 'Plugin removed successfully.' => 'Plugin başarıyla kaldırıldı.', + 'Installed Plugins' => 'Yüklenmiş Eklentiler', + 'Plugin Directory' => 'Eklenti Klasörü', + 'Plugin installed successfully.' => 'Eklenti başarıyla kuruldu.', + 'Plugin updated successfully.' => 'Eklenti başarıyla güncellendi.', + 'Plugin removed successfully.' => 'Eklenti başarıyla kaldırıldı.', 'Subtask converted to task successfully.' => 'Alt görev başarıyla göreve dönüştürüldü.', 'Unable to convert the subtask.' => 'Alt görev dönüştürülemedi', 'Unable to extract plugin archive.' => 'Plugin (sıkıştırılmış) dosyası açılamadı.', - 'Plugin not found.' => 'Plugin bulunamadı', + 'Plugin not found.' => 'Eklenti bulunamadı', 'You don\'t have the permission to remove this plugin.' => 'Bu plugin\'i kaldırmak için yetkiniz yok.', - 'Unable to download plugin archive.' => 'Plugin dosyası indirilemedi.', - 'Unable to write temporary file for plugin.' => 'Plugin için geçici dosya oluşturulamadı.', - 'Unable to open plugin archive.' => 'Plugin dosyası açılamadı.', - 'There is no file in the plugin archive.' => 'Plugin (sıkıştırılmış) dosyasında, dosya bulunmuyor.', + 'Unable to download plugin archive.' => 'Eklenti dosyası indirilemedi.', + 'Unable to write temporary file for plugin.' => 'Eklenti için geçici dosya oluşturulamadı.', + 'Unable to open plugin archive.' => 'Eklenti dosyası açılamadı.', + 'There is no file in the plugin archive.' => 'Eklenti (sıkıştırılmış) dosyasında, dosya bulunmuyor.', 'Create tasks in bulk' => 'Toplu olarak görev oluştur', - 'Your Kanboard instance is not configured to install plugins from the user interface.' => 'Kanbord sisteminiz arayüzden plugin kurulacak şekilde ayarlanmamış.', - 'There is no plugin available.' => 'Uygun plugin yok.', + 'Your Kanboard instance is not configured to install plugins from the user interface.' => 'Kanbord sisteminiz arayüzden eklenti kurulacak şekilde ayarlanmamış.', + 'There is no plugin available.' => 'Uygun eklenti yok.', 'Install' => 'Kur', 'Update' => 'Güncelle', 'Up to date' => 'Güncel', 'Not available' => 'Uygun değil', - 'Remove plugin' => 'Plugini kaldır', - 'Do you really want to remove this plugin: "%s"?' => '"%s" plugin i gerçekten kaldırmak istiyor musunuz?', + 'Remove plugin' => 'Eklentiyi kaldır', + 'Do you really want to remove this plugin: "%s"?' => '"%s" eklentiyi gerçekten kaldırmak istiyor musunuz?', 'Uninstall' => 'Kaldır', 'Listing' => 'Listeliyor', 'Metadata' => 'Meta veri', @@ -1092,7 +1092,7 @@ return array( 'Email settings' => 'E-posta ayarları', 'Email sender address' => 'E-posta gönderen adresi', 'Email transport' => 'E-posta taşıma', - 'Webhook token' => 'Webhook token', + 'Webhook token' => 'Web kancası anahtarı', 'Project tags management' => 'Proje etiket yönetimi', 'Tag created successfully.' => 'Etiket başarıyla oluturuldu.', 'Unable to create this tag.' => 'Etiket oluşturulamıyor.', @@ -1208,136 +1208,136 @@ return array( 'Write' => 'Yaz', 'Write your text in Markdown' => 'Metninizi Markdown a yazın', 'New External Task: %s' => 'Yeni Harici Görev: %s', - 'No personal API access token registered.' => 'Kişisel API erişim belirteç-token ınız kaydedilmedi.', - 'Your personal API access token is "%s"' => 'Kişisel API erişim belirteç-token ınız"%s"', - 'Remove your token' => 'Belirteç-token ınızı kaldır', - 'Generate a new token' => 'Yeni bir belirteç-token oluştur', - // 'Showing %d-%d of %d' => '', - // 'Outgoing Emails' => '', + 'No personal API access token registered.' => 'Kişisel API erişim anahtarınız kaydedilmedi.', + 'Your personal API access token is "%s"' => 'Kişisel API erişim anahtarınız "%s"', + 'Remove your token' => 'Anahtarı kaldır', + 'Generate a new token' => 'Yeni bir anahtar oluştur', + 'Showing %d-%d of %d' => 'Gösterilen %d-%d / %d', + 'Outgoing Emails' => 'Gönderilen ePostalar', 'Add or change currency rate' => 'Kur Oranını ekle veya değiştir', - // 'Reference currency: %s' => '', - // 'Add custom filters' => '', - // 'Export' => '', - // 'Add link label' => '', - // 'Incompatible Plugins' => '', - // 'Compatibility' => '', - // 'Permissions and ownership' => '', - // 'Priorities' => '', - // 'Close this window' => '', - // 'Unable to upload this file.' => '', - // 'Import tasks' => '', - // 'Choose a project' => '', - // 'Profile' => '', - // 'Application role' => '', - // '%d invitations were sent.' => '', - // '%d invitation was sent.' => '', - // 'Unable to create this user.' => '', - // 'Kanboard Invitation' => '', - // 'Visible on dashboard' => '', - // 'Created at:' => '', - // 'Updated at:' => '', - // 'There is no custom filter.' => '', - // 'New User' => '', - // 'Authentication' => '', - // 'If checked, this user will use a third-party system for authentication.' => '', - // 'The password is necessary only for local users.' => '', - // 'You have been invited to register on Kanboard.' => '', - // 'Click here to join your team' => '', - // 'Invite people' => '', - // 'Emails' => '', - // 'Enter one email address by line.' => '', - // 'Add these people to this project' => '', - // 'Add this person to this project' => '', - // 'Sign-up' => '', - // 'Credentials' => '', - // 'New user' => '', - // 'This username is already taken' => '', - // 'A link to reset your password has been sent by email.' => '', - // 'Your profile must have a valid email address.' => '', - // 'Unfortunately, we are unable to reset your password. Did you entered a valid username? Do you have an email address in your profile?' => '', - // 'TRL - Turkish Lira' => '', - // 'The project email is optional and could be used by several plugins.' => '', - // 'The project email must be unique across all projects' => '', - // 'The email configuration has been disabled by the administrator.' => '', - // 'Close this project' => '', - // 'Open this project' => '', - // 'Close a project' => '', - // 'Do you really want to close this project: "%s"?' => '', - // 'Reopen a project' => '', - // 'Do you really want to reopen this project: "%s"?' => '', - // 'This project is open' => '', - // 'This project is closed' => '', - // 'Unable to upload files, check the permissions of your data folder.' => '', - // 'Another category with the same name exists in this project' => '', - // 'Comment sent by email successfully.' => '', - // 'Sent by email to [%s](mailto:%s) (%s)' => '', - // 'Unable to read uploaded file.' => '', - // 'Database uploaded successfully.' => '', - // 'Task sent by email successfully.' => '', - // 'There is no category in this project.' => '', - // 'Send by email' => '', - // 'Create and send a comment by email' => '', - // 'Subject' => '', - // 'Upload the database' => '', - // 'You could upload the previously downloaded Sqlite database (Gzip format).' => '', - // 'Database file' => '', - // 'Upload' => '', - // 'Your project must have at least one active swimlane.' => '', - // 'Project: %s' => '', - // 'Automatic action not found: "%s"' => '', - // '%d projects' => '', - // '%d project' => '', - // 'There is no project.' => '', - // 'Sort' => '', - // 'Project ID' => '', - // 'Project name' => '', - // 'Public' => '', - // 'Private' => '', - // '%d tasks' => '', - // '%d task' => '', - // 'Task ID' => '', - // 'Assign automatically a color when due date is expired' => '', - // 'Total score in this column across all swimlanes' => '', - // 'HRK - Kuna' => '', - // 'ARS - Argentine Peso' => '', - // 'COP - Colombian Peso' => '', - // '%d groups' => '', - // '%d group' => '', - // 'Group ID' => '', - // 'External ID' => '', - // '%d users' => '', - // '%d user' => '', - // 'Hide subtasks' => '', - // 'Show subtasks' => '', - // 'Authentication Parameters' => '', - // 'API Access' => '', - // 'No users found.' => '', - // 'User ID' => '', - // 'Notifications are activated' => '', - // 'Notifications are disabled' => '', - // 'User disabled' => '', - // '%d notifications' => '', - // '%d notification' => '', - // 'There is no external integration installed.' => '', - // 'You are not allowed to update tasks assigned to someone else.' => '', - // 'You are not allowed to change the assignee.' => '', - // 'Task suppression is not permitted' => '', - // 'Changing assignee is not permitted' => '', - // 'Update only assigned tasks is permitted' => '', - // 'Only for tasks assigned to the current user' => '', - // 'My projects' => '', - // 'Your are not member of any project.' => '', - // 'My subtasks' => '', - // '%d subtasks' => '', - // '%d subtask' => '', - // 'Only moving task between those columns is permitted for tasks assigned to the current user' => '', - // '[DUPLICATE]' => '', - // 'DKK - Danish Krona' => '', - // 'Remove user from group' => '', - // 'Assign the task to its creator' => '', - // 'This task was sent by email to "%s" with subject "%s".' => '', - // 'Predefined Email Subjects' => '', - // 'Write one subject by line.' => '', - // 'Create another link' => '', - // 'BRL - Brazilian Real' => '', + 'Reference currency: %s' => 'Referans parabirimi: %s', + 'Add custom filters' => 'Özel filtre ekle', + 'Export' => 'Dışa aktar', + 'Add link label' => 'Bağlantı etiketi ekle', + 'Incompatible Plugins' => 'Uyumsuz Eklentiler', + 'Compatibility' => 'Uyumluluk', + 'Permissions and ownership' => 'İzinler ve sahiplik', + 'Priorities' => 'Öncelikler', + 'Close this window' => 'Bu pencereyi kapat', + 'Unable to upload this file.' => 'Bu dosya yüklenemiyor', + 'Import tasks' => 'Görevleri içeri aktar', + 'Choose a project' => 'Proje seçin', + 'Profile' => 'Profil', + 'Application role' => 'Uygulama rolü', + '%d invitations were sent.' => '%d Davetiye gönderildi', + '%d invitation was sent.' => '%d Davetiye gönderildi', + 'Unable to create this user.' => 'Bu kullanıcı oluşturulamadı.', + 'Kanboard Invitation' => 'Kanboard Daveti', + 'Visible on dashboard' => 'Panoda görünür', + 'Created at:' => 'Oluşturulma: ', + 'Updated at:' => 'Güncellenme: ', + 'There is no custom filter.' => 'Uygulanmış özel filtre yok', + 'New User' => 'Yeni Kullanıcı', + 'Authentication' => 'Yetkilendirme', + 'If checked, this user will use a third-party system for authentication.' => 'İşaretlenirse, bu kullanıcı kimlik doğrulama için üçüncü parti bir sistem kullanacaktır.', + 'The password is necessary only for local users.' => 'Parola yalnızca yerel kullanıcılar için gereklidir', + 'You have been invited to register on Kanboard.' => 'Kanboarda kayıt yaptırmak için davet edildiniz.', + 'Click here to join your team' => 'Takımınıza katılmak için buraya tıklayın', + 'Invite people' => 'İnsanları davet et', + 'Emails' => 'ePostalar', + 'Enter one email address by line.' => 'Her satıra bir adet email girin.', + 'Add these people to this project' => 'Kişileri bu projeye ekle', + 'Add this person to this project' => 'Kişiyi bu projeye ekle', + 'Sign-up' => 'Kayıt', + 'Credentials' => 'Kimlik bilgileri', + 'New user' => 'Yeni kullanıcı', + 'This username is already taken' => 'Bu kullanıcı adı zaten alınmış', + 'A link to reset your password has been sent by email.' => 'Parola sıfırlama linkini içeren mesaj ePosta adresinize gönderildi.', + 'Your profile must have a valid email address.' => 'Profiliniz için geçerli bir ePosta adresi gerekiyor.', + 'Unfortunately, we are unable to reset your password. Did you entered a valid username? Do you have an email address in your profile?' => 'Malesef parolanızı sıfırlayamıyoruz. Kullanıcı adınızı doğru girdiniz mi? Profilinize kayıtlı ePosta adresiniz var mı?', + 'TRL - Turkish Lira' => 'TRL - Türk Lirası', + 'The project email is optional and could be used by several plugins.' => 'Proje ePostası isteğe bağlıdır ve eklentiler tarafından kullanılabilir', + 'The project email must be unique across all projects' => 'Proje e-postası tüm projelerde benzersiz olmalıdır.', + 'The email configuration has been disabled by the administrator.' => 'ePosta ayarları yönetici tarafından devre dışı bırakılmış.', + 'Close this project' => 'Bu projeyi kapat', + 'Open this project' => 'Bu projeyi aç', + 'Close a project' => 'Proje kapat', + 'Do you really want to close this project: "%s"?' => 'Bu projeyi kapatmak istediğinize emin misiniz? : "%s"', + 'Reopen a project' => 'Projeyi tekrar aç', + 'Do you really want to reopen this project: "%s"?' => 'Bu projeyi tekrar açmak istediğinizi onaylıyor musunuz? : "%s"', + 'This project is open' => 'Bu proje açıktır', + 'This project is closed' => 'Bu proje kapatılmış', + 'Unable to upload files, check the permissions of your data folder.' => 'Dosya yüklenemedi. Lütfen yükleme dizine yazma izninizi kontrol ediniz.', + 'Another category with the same name exists in this project' => 'Bu projede aynı ada sahip başka bir kategori var', + 'Comment sent by email successfully.' => 'Yorum ePosta ile başarıyla gönderildi.', + 'Sent by email to [%s](mailto:%s) (%s)' => 'ePostayı gönder [%s](mailto:%s) (%s)', + 'Unable to read uploaded file.' => 'Yüklenen dosya okunamadı.', + 'Database uploaded successfully.' => 'Veritabanı başarıyla yüklendi.', + 'Task sent by email successfully.' => 'Görev ePosta ile başarıyla gönderildi.', + 'There is no category in this project.' => 'Bu projenin kategorisi yok', + 'Send by email' => 'ePosta ile gönder', + 'Create and send a comment by email' => 'Yorum oluştur ve ePosta ile gönder', + 'Subject' => 'Konu', + 'Upload the database' => 'Veritabanına yükle', + 'You could upload the previously downloaded Sqlite database (Gzip format).' => 'Daha önce indirdiğiniz Sqlite Veritabanı dosyasını yükleyebilirsiniz (Gzip formatında)', + 'Database file' => 'Veritabanı dosyası', + 'Upload' => 'Yükle', + 'Your project must have at least one active swimlane.' => 'Projenizin en az bir aktif kulvara sahip olması gerekir', + 'Project: %s' => 'Proje: %s', + 'Automatic action not found: "%s"' => 'Otomatik işlem bulunamadı: "%s"', + '%d projects' => '%d proje', + '%d project' => '%d proje', + 'There is no project.' => 'Proje yok.', + 'Sort' => 'Sırala', + 'Project ID' => 'Proje No', + 'Project name' => 'Proje Adı', + 'Public' => 'Herkese açık', + 'Private' => 'Gizli', + '%d tasks' => '%d görev', + '%d task' => '%d görev', + 'Task ID' => 'Görev No', + 'Assign automatically a color when due date is expired' => 'Son günü geçtiğinde otomatik olarak bir renk ata', + 'Total score in this column across all swimlanes' => 'Tüm kulvarlara göre bu kulvarın toplam puanı', + 'HRK - Kuna' => 'HRK - Kuna', + 'ARS - Argentine Peso' => 'ARS - Arjantin Pezosu', + 'COP - Colombian Peso' => 'COP - Kolombiya Pezosu', + '%d groups' => '%d grup', + '%d group' => '%d grup', + 'Group ID' => 'Grup No', + 'External ID' => 'Harici No', + '%d users' => '%d kullanıcı', + '%d user' => '%d kullanıcı', + 'Hide subtasks' => 'Alt görevleri gizler', + 'Show subtasks' => 'Alt görevleri göster', + 'Authentication Parameters' => 'Yetkilendirme Parametreleri', + 'API Access' => 'API Erişimi', + 'No users found.' => 'Kullanıcı yok', + 'User ID' => 'Kullanıcı No', + 'Notifications are activated' => 'Bildirimler etkinleştirildi', + 'Notifications are disabled' => 'Bildirimler devre dışı', + 'User disabled' => 'Kullanıcı devre dışı', + '%d notifications' => '%d bildirim', + '%d notification' => '%d bildirim', + 'There is no external integration installed.' => 'Yüklenmiş harici entegrasyon yok.', + 'You are not allowed to update tasks assigned to someone else.' => 'Başkasına atanmış görevi güncelleme izniniz yok.', + 'You are not allowed to change the assignee.' => 'Atanmış kişiyi değiştirme yetkiniz yok.', + 'Task suppression is not permitted' => 'Görev silmeye izniniz yok', + 'Changing assignee is not permitted' => 'Atanmışı değiştirme izniniz yok', + 'Update only assigned tasks is permitted' => 'Yalnızca atandığınız görevleri güncelleyebilirsiniz', + 'Only for tasks assigned to the current user' => 'Yalnızca geçerli kullanıcıya atanan görevler için', + 'My projects' => 'Projelerim', + 'Your are not member of any project.' => 'Herhangi bir projenin üyesi değilsiniz.', + 'My subtasks' => 'Altgörevlerim', + '%d subtasks' => '%d alt görev', + '%d subtask' => '%d alt görev', + 'Only moving task between those columns is permitted for tasks assigned to the current user' => 'Geçerli kullanıcıya atanan görevler için yalnızca o sütunlar arasında hareket eden bir göreve izin verilir.', + '[DUPLICATE]' => '[ÇİFT]', + 'DKK - Danish Krona' => 'DKK - Danimarka Kronu', + 'Remove user from group' => 'Kullanıcıyı gruptan çıkar', + 'Assign the task to its creator' => 'Oluşturucusuna görev ata', + 'This task was sent by email to "%s" with subject "%s".' => 'Bu görev "%s" konusuyla "%s" ePosta adresine gönderildi.', + 'Predefined Email Subjects' => 'Öntanımlı ePosta konuları', + 'Write one subject by line.' => 'Her satıra bir konu yazınız', + 'Create another link' => 'Başka bağlantı oluştur', + 'BRL - Brazilian Real' => 'BRL - Brezilya Reali', ); -- cgit v1.2.3 From 69162009674a21623ce8ed56f2d8e8ff61b143be Mon Sep 17 00:00:00 2001 From: Yannick A Date: Thu, 12 Oct 2017 15:23:22 +0200 Subject: Update French translation --- app/Locale/fr_FR/translations.php | 382 +++++++++++++++++++------------------- 1 file changed, 191 insertions(+), 191 deletions(-) (limited to 'app') diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php index 780c0927..b1845377 100644 --- a/app/Locale/fr_FR/translations.php +++ b/app/Locale/fr_FR/translations.php @@ -28,11 +28,11 @@ return array( 'Amber' => 'Ambre', 'Save' => 'Enregistrer', 'Login' => 'Connexion', - 'Official website:' => 'Site web officiel :', + 'Official website:' => 'Site web officiel :', 'Unassigned' => 'Non assigné', 'View this task' => 'Voir cette tâche', 'Remove user' => 'Supprimer un utilisateur', - 'Do you really want to remove this user: "%s"?' => 'Voulez-vous vraiment supprimer cet utilisateur : « %s » ?', + 'Do you really want to remove this user: "%s"?' => 'Voulez-vous vraiment supprimer cet utilisateur : « %s » ?', 'All users' => 'Tous les utilisateurs', 'Username' => 'Identifiant', 'Password' => 'Mot de passe', @@ -59,20 +59,20 @@ return array( 'Disable' => 'Désactiver', 'Enable' => 'Activer', 'New project' => 'Nouveau projet', - 'Do you really want to remove this project: "%s"?' => 'Voulez-vous vraiment supprimer ce projet : « %s » ?', + 'Do you really want to remove this project: "%s"?' => 'Voulez-vous vraiment supprimer ce projet : « %s » ?', 'Remove project' => 'Supprimer le projet', - 'Edit the board for "%s"' => 'Modifier le tableau pour « %s »', + 'Edit the board for "%s"' => 'Modifier le tableau pour « %s »', 'Add a new column' => 'Ajouter une nouvelle colonne', 'Title' => 'Titre', 'Assigned to %s' => 'Assigné à %s', 'Remove a column' => 'Supprimer une colonne', 'Unable to remove this column.' => 'Impossible de supprimer cette colonne.', - 'Do you really want to remove this column: "%s"?' => 'Voulez vraiment supprimer cette colonne : « %s » ?', + 'Do you really want to remove this column: "%s"?' => 'Voulez vraiment supprimer cette colonne : « %s » ?', 'Settings' => 'Préférences', 'Application settings' => 'Paramètres de l\'application', 'Language' => 'Langue', - 'Webhook token:' => 'Jeton de securité pour les webhooks :', - 'API token:' => 'Jeton de securité pour l\'API :', + 'Webhook token:' => 'Jeton de sécurité pour les webhooks :', + 'API token:' => 'Jeton de sécurité pour l\'API :', 'Database size:' => 'Taille de la base de données :', 'Download the database' => 'Télécharger la base de données', 'Optimize the database' => 'Optimiser la base de données', @@ -85,7 +85,7 @@ return array( 'Create another task' => 'Créer une autre tâche', 'New task' => 'Nouvelle tâche', 'Open a task' => 'Ouvrir une tâche', - 'Do you really want to open this task: "%s"?' => 'Voulez-vous vraiment ouvrir cette tâche : « %s » ?', + 'Do you really want to open this task: "%s"?' => 'Voulez-vous vraiment ouvrir cette tâche : « %s » ?', 'Back to the board' => 'Retour au tableau', 'There is nobody assigned' => 'Il n\'y a personne d\'assigné à cette tâche', 'Column on the board:' => 'Colonne sur le tableau : ', @@ -109,7 +109,7 @@ return array( 'The title is required' => 'Le titre est obligatoire', 'Settings saved successfully.' => 'Paramètres sauvegardés avec succès.', 'Unable to save your settings.' => 'Impossible de sauvegarder vos réglages.', - 'Database optimization done.' => 'Optmisation de la base de données terminée.', + 'Database optimization done.' => 'Optimisation de la base de données terminée.', 'Your project have been created successfully.' => 'Votre projet a été créé avec succès.', 'Unable to create your project.' => 'Impossible de créer un projet.', 'Project updated successfully.' => 'Votre projet a été mis à jour avec succès.', @@ -138,11 +138,11 @@ return array( 'Backlog' => 'En attente', 'Work in progress' => 'En cours', 'Done' => 'Terminé', - 'Application version:' => 'Version de l\'application :', + 'Application version:' => 'Version de l\'application :', 'Id' => 'Id.', 'Public link' => 'Lien public', 'Timezone' => 'Fuseau horaire', - 'Sorry, I didn\'t find this information in my database!' => 'Désolé, je n\'ai pas trouvé cette information dans ma base de données !', + 'Sorry, I didn\'t find this information in my database!' => 'Désolé, je n\'ai pas trouvé cette information dans ma base de données !', 'Page not found' => 'Page introuvable', 'Complexity' => 'Complexité', 'Task limit' => 'Tâches Max.', @@ -160,7 +160,7 @@ return array( 'Remove an action' => 'Supprimer une action', 'Unable to remove this action.' => 'Impossible de supprimer cette action', 'Action removed successfully.' => 'Action supprimée avec succès.', - 'Automatic actions for the project "%s"' => 'Actions automatisées pour le projet « %s »', + 'Automatic actions for the project "%s"' => 'Actions automatisées pour le projet « %s »', 'Add an action' => 'Ajouter une action', 'Event name' => 'Nom de l\'événement', 'Action' => 'Action', @@ -168,7 +168,7 @@ return array( 'When the selected event occurs execute the corresponding action.' => 'Lorsque l\'événement sélectionné se déclenche, exécuter l\'action correspondante.', 'Next step' => 'Étape suivante', 'Define action parameters' => 'Définition des paramètres de l\'action', - 'Do you really want to remove this action: "%s"?' => 'Voulez-vous vraiment supprimer cette action « %s » ?', + 'Do you really want to remove this action: "%s"?' => 'Voulez-vous vraiment supprimer cette action « %s » ?', 'Remove an automatic action' => 'Supprimer une action automatisée', 'Assign the task to a specific user' => 'Assigner la tâche à un utilisateur spécifique', 'Assign the task to the person who does the action' => 'Assigner la tâche à la personne qui fait l\'action', @@ -187,8 +187,8 @@ return array( 'Remove a comment' => 'Supprimer un commentaire', 'Comment removed successfully.' => 'Commentaire supprimé avec succès.', 'Unable to remove this comment.' => 'Impossible de supprimer ce commentaire.', - 'Do you really want to remove this comment?' => 'Voulez-vous vraiment supprimer ce commentaire ?', - 'Current password for the user "%s"' => 'Mot de passe actuel pour l\'utilisateur « %s »', + 'Do you really want to remove this comment?' => 'Voulez-vous vraiment supprimer ce commentaire ?', + 'Current password for the user "%s"' => 'Mot de passe actuel pour l\'utilisateur « %s »', 'The current password is required' => 'Le mot de passe actuel est obligatoire', 'Wrong password' => 'Mot de passe invalide', 'Unknown' => 'Inconnu', @@ -220,12 +220,12 @@ return array( 'Task removed successfully.' => 'Tâche supprimée avec succès.', 'Unable to remove this task.' => 'Impossible de supprimer cette tâche.', 'Remove a task' => 'Supprimer une tâche', - 'Do you really want to remove this task: "%s"?' => 'Voulez-vous vraiment supprimer cette tâche « %s » ?', + 'Do you really want to remove this task: "%s"?' => 'Voulez-vous vraiment supprimer cette tâche « %s » ?', 'Assign automatically a color based on a category' => 'Assigner automatiquement une couleur par rapport à une catégorie définie', 'Assign automatically a category based on a color' => 'Assigner automatiquement une catégorie par rapport à une couleur définie', 'Task creation or modification' => 'Création ou modification d\'une tâche', 'Category' => 'Catégorie', - 'Category:' => 'Catégorie :', + 'Category:' => 'Catégorie :', 'Categories' => 'Catégories', 'Your category have been created successfully.' => 'Votre catégorie a été créée avec succès.', 'This category has been updated successfully.' => 'Cette catégorie a été mise à jour avec succès.', @@ -233,10 +233,10 @@ return array( 'Remove a category' => 'Supprimer une catégorie', 'Category removed successfully.' => 'Catégorie supprimée avec succès.', 'Unable to remove this category.' => 'Impossible de supprimer cette catégorie.', - 'Category modification for the project "%s"' => 'Modification d\'une catégorie pour le projet « %s »', + 'Category modification for the project "%s"' => 'Modification d\'une catégorie pour le projet « %s »', 'Category Name' => 'Nom de la catégorie', 'Add a new category' => 'Ajouter une nouvelle catégorie', - 'Do you really want to remove this category: "%s"?' => 'Voulez-vous vraiment supprimer cette catégorie « %s » ?', + 'Do you really want to remove this category: "%s"?' => 'Voulez-vous vraiment supprimer cette catégorie « %s » ?', 'All categories' => 'Toutes les catégories', 'No category' => 'Aucune catégorie', 'The name is required' => 'Le nom est requis', @@ -244,16 +244,16 @@ return array( 'Unable to remove this file.' => 'Impossible de supprimer ce fichier.', 'File removed successfully.' => 'Fichier supprimé avec succès.', 'Attach a document' => 'Joindre un document', - 'Do you really want to remove this file: "%s"?' => 'Voulez-vous vraiment supprimer ce fichier « %s » ?', + 'Do you really want to remove this file: "%s"?' => 'Voulez-vous vraiment supprimer ce fichier « %s » ?', 'Attachments' => 'Pièces-jointes', 'Edit the task' => 'Modifier la tâche', 'Add a comment' => 'Ajouter un commentaire', 'Edit a comment' => 'Modifier un commentaire', 'Summary' => 'Résumé', 'Time tracking' => 'Suivi du temps', - 'Estimate:' => 'Estimation :', + 'Estimate:' => 'Estimation :', 'Spent:' => 'Passé :', - 'Do you really want to remove this sub-task?' => 'Voulez-vous vraiment supprimer cette sous-tâche ?', + 'Do you really want to remove this sub-task?' => 'Voulez-vous vraiment supprimer cette sous-tâche ?', 'Remaining:' => 'Restant :', 'hours' => 'heures', 'spent' => 'passé', @@ -287,22 +287,22 @@ return array( 'Clone' => 'Clone', 'Project cloned successfully.' => 'Projet cloné avec succès.', 'Unable to clone this project.' => 'Impossible de cloner ce projet.', - 'Enable email notifications' => 'Activer les notifications par emails', - 'Task position:' => 'Position de la tâche :', + 'Enable email notifications' => 'Activer les notifications par email', + 'Task position:' => 'Position de la tâche :', 'The task #%d have been opened.' => 'La tâche #%d a été ouverte.', 'The task #%d have been closed.' => 'La tâche #%d a été fermée.', 'Sub-task updated' => 'Sous-tâche mise à jour', - 'Title:' => 'Titre :', - 'Status:' => 'État :', - 'Assignee:' => 'Assigné :', - 'Time tracking:' => 'Gestion du temps :', + 'Title:' => 'Titre :', + 'Status:' => 'État :', + 'Assignee:' => 'Assigné :', + 'Time tracking:' => 'Gestion du temps :', 'New sub-task' => 'Nouvelle sous-tâche', - 'New attachment added "%s"' => 'Nouvelle pièce-jointe ajoutée « %s »', - 'New comment posted by %s' => 'Nouveau commentaire ajouté par « %s »', + 'New attachment added "%s"' => 'Nouvelle pièce-jointe ajoutée « %s »', + 'New comment posted by %s' => 'Nouveau commentaire ajouté par « %s »', 'New comment' => 'Nouveau commentaire', 'Comment updated' => 'Commentaire mis à jour', 'New subtask' => 'Nouvelle sous-tâche', - 'I want to receive notifications only for those projects:' => 'Je souhaite reçevoir les notifications uniquement pour les projets sélectionnés :', + 'I want to receive notifications only for those projects:' => 'Je souhaite reçevoir les notifications uniquement pour les projets sélectionnés :', 'view the task on Kanboard' => 'voir la tâche sur Kanboard', 'Public access' => 'Accès public', 'Disable public access' => 'Désactiver l\'accès public', @@ -310,7 +310,7 @@ return array( 'Public access disabled' => 'Accès public désactivé', 'Move the task to another project' => 'Déplacer la tâche vers un autre projet', 'Move to another project' => 'Déplacer vers un autre projet', - 'Do you really want to duplicate this task?' => 'Voulez-vous vraiment dupliquer cette tâche ?', + 'Do you really want to duplicate this task?' => 'Voulez-vous vraiment dupliquer cette tâche ?', 'Duplicate a task' => 'Dupliquer une tâche', 'External accounts' => 'Comptes externes', 'Account type' => 'Type de compte', @@ -318,12 +318,12 @@ return array( 'Remote' => 'Distant', 'Enabled' => 'Activé', 'Disabled' => 'Désactivé', - 'Login:' => 'Nom d\'utilisateur :', - 'Full Name:' => 'Nom :', - 'Email:' => 'Email :', - 'Notifications:' => 'Notifications :', + 'Login:' => 'Nom d\'utilisateur :', + 'Full Name:' => 'Nom :', + 'Email:' => 'Email :', + 'Notifications:' => 'Notifications :', 'Notifications' => 'Notifications', - 'Account type:' => 'Type de compte :', + 'Account type:' => 'Type de compte :', 'Edit profile' => 'Modifier le profil', 'Change password' => 'Changer le mot de passe', 'Password modification' => 'Changement de mot de passe', @@ -335,8 +335,8 @@ return array( 'Change category' => 'Changer de catégorie', '%s updated the task %s' => '%s a mis à jour la tâche %s', '%s opened the task %s' => '%s a ouvert la tâche %s', - '%s moved the task %s to the position #%d in the column "%s"' => '%s a déplacé la tâche %s à la position n°%d dans la colonne « %s »', - '%s moved the task %s to the column "%s"' => '%s a déplacé la tâche %s dans la colonne « %s »', + '%s moved the task %s to the position #%d in the column "%s"' => '%s a déplacé la tâche %s à la position n°%d dans la colonne « %s »', + '%s moved the task %s to the column "%s"' => '%s a déplacé la tâche %s dans la colonne « %s »', '%s created the task %s' => '%s a créé la tâche %s', '%s closed the task %s' => '%s a fermé la tâche %s', '%s created a subtask for the task %s' => '%s a créé une sous-tâche pour la tâche %s', @@ -356,12 +356,12 @@ return array( '%s closed the task #%d' => '%s a fermé la tâche n°%d', '%s opened the task #%d' => '%s a ouvert la tâche n°%d', 'Activity' => 'Activité', - 'Default values are "%s"' => 'Les valeurs par défaut sont « %s »', + 'Default values are "%s"' => 'Les valeurs par défaut sont « %s »', 'Default columns for new projects (Comma-separated)' => 'Colonnes par défaut pour les nouveaux projets (séparation par des virgules)', 'Task assignee change' => 'Modification de la personne assignée à une tâche', '%s changed the assignee of the task #%d to %s' => '%s a changé la personne assignée à la tâche n˚%d pour %s', '%s changed the assignee of the task %s to %s' => '%s a changé la personne assignée à la tâche %s pour %s', - 'New password for the user "%s"' => 'Nouveau mot de passe pour l\'utilisateur « %s »', + 'New password for the user "%s"' => 'Nouveau mot de passe pour l\'utilisateur « %s »', 'Choose an event' => 'Choisir un événement', 'Create a task from an external provider' => 'Créer une tâche depuis un fournisseur externe', 'Change the assignee based on an external username' => 'Changer l\'assigné en fonction d\'un utilisateur externe', @@ -370,11 +370,11 @@ return array( 'Label' => 'Libellé', 'Database' => 'Base de données', 'About' => 'À propos', - 'Database driver:' => 'Type de base de données :', + 'Database driver:' => 'Type de base de données :', 'Board settings' => 'Paramètres du tableau', 'Webhook settings' => 'Paramètres pour les webhooks', 'Reset token' => 'Regénérer le jeton de sécurité', - 'API endpoint:' => 'URL de l\'API :', + 'API endpoint:' => 'URL de l\'API :', 'Refresh interval for private board' => 'Intervalle pour rafraîchir un tableau privé', 'Refresh interval for public board' => 'Intervalle pour rafraîchir un tableau public', 'Task highlight period' => 'Durée pour mettre une tâche en évidence', @@ -384,7 +384,7 @@ return array( 'Application URL' => 'URL de l\'application', 'Token regenerated.' => 'Jeton de sécurité regénéré.', 'Date format' => 'Format des dates', - 'ISO format is always accepted, example: "%s" and "%s"' => 'Le format ISO est toujours accepté, exemple : « %s » et « %s »', + 'ISO format is always accepted, example: "%s" and "%s"' => 'Le format ISO est toujours accepté, exemple : « %s » et « %s »', 'New private project' => 'Nouveau projet privé', 'This project is private' => 'Ce projet est privé', 'Add' => 'Ajouter', @@ -435,14 +435,14 @@ return array( 'Do you really want to remove this swimlane: "%s"?' => 'Voulez-vous vraiment supprimer cette swimlane : « %s » ?', 'Inactive swimlanes' => 'Swimlanes inactives', 'Remove a swimlane' => 'Supprimer une swimlane', - 'Swimlane modification for the project "%s"' => 'Modification d\'une swimlane pour le projet « %s »', + 'Swimlane modification for the project "%s"' => 'Modification d\'une swimlane pour le projet « %s »', 'Swimlane removed successfully.' => 'Swimlane supprimée avec succès.', 'Swimlanes' => 'Swimlanes', 'Swimlane updated successfully.' => 'Swimlane mise à jour avec succès.', 'Unable to remove this swimlane.' => 'Impossible de supprimer cette swimlane.', 'Unable to update this swimlane.' => 'Impossible de mettre à jour cette swimlane.', 'Your swimlane have been created successfully.' => 'Votre swimlane a été créée avec succès.', - 'Example: "Bug, Feature Request, Improvement"' => 'Exemple: « Incident, Demande de fonctionnalité, Amélioration »', + 'Example: "Bug, Feature Request, Improvement"' => 'Exemple: « Incident, Demande de fonctionnalité, Amélioration »', 'Default categories for new projects (Comma-separated)' => 'Catégories par défaut pour les nouveaux projets (séparation par des virgules)', 'Integrations' => 'Intégrations', 'Integration with third-party services' => 'Intégration avec des services externes', @@ -452,8 +452,8 @@ return array( 'Task Title' => 'Titre de la tâche', 'Untitled' => 'Sans nom', 'Application default' => 'Valeur par défaut de l\'application', - 'Language:' => 'Langue :', - 'Timezone:' => 'Fuseau horaire :', + 'Language:' => 'Langue :', + 'Timezone:' => 'Fuseau horaire :', 'All columns' => 'Toutes les colonnes', 'Next' => 'Suivant', '#%d' => 'n˚%d', @@ -462,8 +462,8 @@ return array( 'Moved to column %s' => 'Tâche déplacée à la colonne %s', 'User dashboard' => 'Tableau de bord de l\'utilisateur', 'Allow only one subtask in progress at the same time for a user' => 'Autoriser une seule sous-tâche en progrès en même temps pour un utilisateur', - 'Edit column "%s"' => 'Modifier la colonne « %s »', - 'Select the new status of the subtask: "%s"' => 'Selectionnez le nouveau statut de la sous-tâche : « %s »', + 'Edit column "%s"' => 'Modifier la colonne « %s »', + 'Select the new status of the subtask: "%s"' => 'Sélectionnez le nouveau statut de la sous-tâche : « %s »', 'Subtask timesheet' => 'Feuille de temps des sous-tâches', 'There is nothing to show.' => 'Il n\'y a rien à montrer.', 'Time Tracking' => 'Feuille de temps', @@ -524,7 +524,7 @@ return array( 'AUD - Australian Dollar' => 'AUD - Dollar australien', 'CAD - Canadian Dollar' => 'CAD - Dollar canadien', 'CHF - Swiss Francs' => 'CHF - Franc suisse', - 'Custom Stylesheet' => 'Feuille de style personalisée', + 'Custom Stylesheet' => 'Feuille de style personnalisée', 'download' => 'télécharger', 'EUR - Euro' => 'EUR - Euro', 'GBP - British Pound' => 'GBP - Livre sterling', @@ -558,9 +558,9 @@ return array( 'The two factor authentication code is valid.' => 'Le code pour l\'authentification à deux-facteurs est valide.', 'Code' => 'Code', 'Two factor authentication' => 'Authentification à deux-facteurs', - 'This QR code contains the key URI: ' => 'Ce code QR contient l\'url de la clé : ', + 'This QR code contains the key URI: ' => 'Ce code QR contient l\'URL de la clé : ', 'Check my code' => 'Vérifier mon code', - 'Secret key: ' => 'Clé secrète : ', + 'Secret key: ' => 'Clé secrète : ', 'Test your device' => 'Testez votre appareil', 'Assign a color when the task is moved to a specific column' => 'Assigner une couleur lorsque la tâche est déplacée dans une colonne spécifique', '%s via Kanboard' => '%s via Kanboard', @@ -581,7 +581,7 @@ return array( 'Recurrent task is scheduled to be generated' => 'La tâche récurrente est programmée pour être créée', 'Score' => 'Complexité', 'The identifier must be unique' => 'L\'identifiant doit être unique', - 'This linked task id doesn\'t exists' => 'L\'identifiant de la task liée n\'existe pas', + 'This linked task id doesn\'t exists' => 'L\'identifiant de la tâche liée n\'existe pas', 'This value must be alphanumeric' => 'Cette valeur doit être alphanumérique', 'Edit recurrence' => 'Modifier la récurrence', 'Generate recurrent task' => 'Générer une tâche récurrente', @@ -591,7 +591,7 @@ return array( 'Base date to calculate new due date' => 'Date à utiliser pour calculer la nouvelle date d\'échéance', 'Action date' => 'Date de l\'action', 'Base date to calculate new due date: ' => 'Date utilisée pour calculer la nouvelle date d\'échéance : ', - 'This task has created this child task: ' => 'Cette tâche a créée la tâche enfant : ', + 'This task has created this child task: ' => 'Cette tâche a créé la tâche enfant : ', 'Day(s)' => 'Jour(s)', 'Existing due date' => 'Date d\'échéance existante', 'Factor to calculate new due date: ' => 'Facteur pour calculer la nouvelle date d\'échéance : ', @@ -614,7 +614,7 @@ return array( 'Two factor authentication enabled' => 'Authentification à deux facteurs activée', 'Unable to update this user.' => 'Impossible de mettre à jour cet utilisateur.', 'There is no user management for private projects.' => 'Il n\'y a pas de gestion d\'utilisateurs pour les projets privés.', - 'User that will receive the email' => 'Utilisateur qui va reçevoir l\'email', + 'User that will receive the email' => 'Utilisateur qui va recevoir l\'email', 'Email subject' => 'Sujet de l\'email', 'Date' => 'Date', 'Add a comment log when moving the task between columns' => 'Ajouter un commentaire d\'information lorsque une tâche est déplacée dans une autre colonne', @@ -628,26 +628,26 @@ return array( '%s moved the task %s to the swimlane "%s"' => '%s a déplacé la tâche %s dans la swimlane « %s »', 'This report contains all subtasks information for the given date range.' => 'Ce rapport contient les informations de toutes les sous-tâches pour la période sélectionnée.', 'This report contains all tasks information for the given date range.' => 'Ce rapport contient les informations de toutes les tâches pour la période sélectionnée.', - 'Project activities for %s' => 'Activité des projets pour « %s »', + 'Project activities for %s' => 'Activité des projets pour « %s »', 'view the board on Kanboard' => 'voir le tableau sur Kanboard', 'The task have been moved to the first swimlane' => 'La tâche a été déplacée dans la première swimlane', - 'The task have been moved to another swimlane:' => 'La tâche a été déplacée dans une autre swimlane :', - 'New title: %s' => 'Nouveau titre : %s', + 'The task have been moved to another swimlane:' => 'La tâche a été déplacée dans une autre swimlane :', + 'New title: %s' => 'Nouveau titre : %s', 'The task is not assigned anymore' => 'La tâche n\'est plus assignée maintenant', - 'New assignee: %s' => 'Nouvel assigné : %s', + 'New assignee: %s' => 'Nouvel assigné : %s', 'There is no category now' => 'Il n\'y a plus de catégorie maintenant', - 'New category: %s' => 'Nouvelle catégorie : %s', - 'New color: %s' => 'Nouvelle couleur : %s', - 'New complexity: %d' => 'Nouvelle complexité : %d', + 'New category: %s' => 'Nouvelle catégorie : %s', + 'New color: %s' => 'Nouvelle couleur : %s', + 'New complexity: %d' => 'Nouvelle complexité : %d', 'The due date have been removed' => 'La date d\'échéance a été enlevée', 'There is no description anymore' => 'Il n\'y a plus de description maintenant', 'Recurrence settings have been modified' => 'Les réglages de la récurrence ont été modifiés', - 'Time spent changed: %sh' => 'Le temps passé a été changé : %sh', - 'Time estimated changed: %sh' => 'Le temps estimé a été changé : %sh', + 'Time spent changed: %sh' => 'Le temps passé a été changé : %sh', + 'Time estimated changed: %sh' => 'Le temps estimé a été changé : %sh', 'The field "%s" have been updated' => 'Le champ « %s » a été mis à jour', 'The description has been modified:' => 'La description a été modifiée', 'Do you really want to close the task "%s" as well as all subtasks?' => 'Voulez-vous vraiment fermer la tâche « %s » ainsi que toutes ses sous-tâches ?', - 'I want to receive notifications for:' => 'Je veux reçevoir les notifications pour :', + 'I want to receive notifications for:' => 'Je veux reçevoir les notifications pour :', 'All tasks' => 'Toutes les Tâches', 'Only for tasks assigned to me' => 'Seulement les tâches qui me sont assignées', 'Only for tasks created by me' => 'Seulement les tâches que j\'ai créées', @@ -677,31 +677,31 @@ return array( 'Go to the search/filter box' => 'Aller au champ de recherche', 'There is no activity yet.' => 'Il n\'y a pas encore d\'activité.', 'No tasks found.' => 'Aucune tâche trouvée.', - 'Keyboard shortcut: "%s"' => 'Raccourci clavier : « %s »', + 'Keyboard shortcut: "%s"' => 'Raccourci clavier : « %s »', 'List' => 'Liste', 'Filter' => 'Filtre', 'Advanced search' => 'Recherche avancée', - 'Example of query: ' => 'Exemple de requête : ', - 'Search by project: ' => 'Rechercher par projet : ', - 'Search by column: ' => 'Rechercher par colonne : ', - 'Search by assignee: ' => 'Rechercher par assigné : ', - 'Search by color: ' => 'Rechercher par couleur : ', - 'Search by category: ' => 'Rechercher par catégorie : ', - 'Search by description: ' => 'Rechercher par description : ', - 'Search by due date: ' => 'Rechercher par date d\'échéance : ', + 'Example of query: ' => 'Exemple de requête : ', + 'Search by project: ' => 'Rechercher par projet : ', + 'Search by column: ' => 'Rechercher par colonne : ', + 'Search by assignee: ' => 'Rechercher par assigné : ', + 'Search by color: ' => 'Rechercher par couleur : ', + 'Search by category: ' => 'Rechercher par catégorie : ', + 'Search by description: ' => 'Rechercher par description : ', + 'Search by due date: ' => 'Rechercher par date d\'échéance : ', 'Average time spent into each column' => 'Temps moyen passé dans chaque colonne', 'Average time spent' => 'Temps moyen passé', 'This chart show the average time spent into each column for the last %d tasks.' => 'Ce graphique montre le temps passé moyen dans chaque colonne pour les %d dernières tâches.', 'Average Lead and Cycle time' => 'Durée moyenne du lead et cycle time', - 'Average lead time: ' => 'Lead time moyen : ', - 'Average cycle time: ' => 'Cycle time moyen : ', + 'Average lead time: ' => 'Lead time moyen : ', + 'Average cycle time: ' => 'Cycle time moyen : ', 'Cycle Time' => 'Cycle time', 'Lead Time' => 'Lead time', 'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Ce graphique montre la durée moyenne du lead et cycle time pour les %d dernières tâches.', 'Average time into each column' => 'Temps moyen dans chaque colonne', 'Lead and cycle time' => 'Lead et cycle time', - 'Lead time: ' => 'Lead time : ', - 'Cycle time: ' => 'Temps de cycle : ', + 'Lead time: ' => 'Lead time : ', + 'Cycle time: ' => 'Temps de cycle : ', 'Time spent into each column' => 'Temps passé dans chaque colonne', 'The lead time is the duration between the task creation and the completion.' => 'Le lead time est la durée entre la création de la tâche et sa complétion.', 'The cycle time is the duration between the start date and the completion.' => 'Le cycle time est la durée entre la date de début et la complétion.', @@ -709,22 +709,22 @@ return array( 'Set automatically the start date' => 'Définir automatiquement la date de début', 'Edit Authentication' => 'Modifier l\'authentification', 'Remote user' => 'Utilisateur distant', - 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Les utilisateurs distants ne stockent pas leur mot de passe dans la base de données de Kanboard, exemples : comptes LDAP, Github ou Google.', + 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Les utilisateurs distants ne stockent pas leur mot de passe dans la base de données de Kanboard, exemples : comptes LDAP, Github ou Google.', 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Si vous cochez la case « Interdire le formulaire d\'authentification », les identifiants entrés dans le formulaire d\'authentification seront ignorés.', 'Default task color' => 'Couleur par défaut des tâches', 'This feature does not work with all browsers.' => 'Cette fonctionnalité n\'est pas compatible avec tous les navigateurs', 'There is no destination project available.' => 'Il n\'y a pas de projet de destination disponible.', 'Trigger automatically subtask time tracking' => 'Déclencher automatiquement le suivi du temps pour les sous-tâches', 'Include closed tasks in the cumulative flow diagram' => 'Inclure les tâches fermées dans le diagramme de flux cumulé', - 'Current swimlane: %s' => 'Swimlane actuelle : %s', - 'Current column: %s' => 'Colonne actuelle : %s', - 'Current category: %s' => 'Catégorie actuelle : %s', + 'Current swimlane: %s' => 'Swimlane actuelle : %s', + 'Current column: %s' => 'Colonne actuelle : %s', + 'Current category: %s' => 'Catégorie actuelle : %s', 'no category' => 'aucune catégorie', - 'Current assignee: %s' => 'Assigné actuel : %s', + 'Current assignee: %s' => 'Assigné actuel : %s', 'not assigned' => 'non assigné', - 'Author:' => 'Auteur :', + 'Author:' => 'Auteur :', 'contributors' => 'contributeurs', - 'License:' => 'Licence :', + 'License:' => 'Licence :', 'License' => 'Licence', 'Enter the text below' => 'Entrez le texte ci-dessous', 'Start date:' => 'Date de début :', @@ -745,7 +745,7 @@ return array( 'Change task color when using a specific task link' => 'Changer la couleur de la tâche lorsqu\'un lien spécifique est utilisé', 'Task link creation or modification' => 'Création ou modification d\'un lien sur une tâche', 'Milestone' => 'Étape importante', - 'Documentation: %s' => 'Documentation : %s', + 'Documentation: %s' => 'Documentation : %s', 'Reset the search/filter box' => 'Réinitialiser le champ de recherche', 'Documentation' => 'Documentation', 'Table of contents' => 'Table des matières', @@ -754,21 +754,21 @@ return array( 'Plugins' => 'Extensions', 'There is no plugin loaded.' => 'Il n\'y a aucune extension chargée.', 'My notifications' => 'Mes notifications', - 'Custom filters' => 'Filtres personalisés', - 'Your custom filter have been created successfully.' => 'Votre filter personalisé a été créé avec succès.', - 'Unable to create your custom filter.' => 'Impossible de créer votre filter personalisé.', - 'Custom filter removed successfully.' => 'Filtre personalisé supprimé avec succès.', - 'Unable to remove this custom filter.' => 'Impossible de supprimer ce filter personalisé.', - 'Edit custom filter' => 'Modification d\'un filtre personalisé', - 'Your custom filter have been updated successfully.' => 'Votre filtre personalisé a été mis à jour avec succès.', - 'Unable to update custom filter.' => 'Impossible de mettre à jour votre filtre personalisé.', + 'Custom filters' => 'Filtres personnalisés', + 'Your custom filter have been created successfully.' => 'Votre filter personnalisé a été créé avec succès.', + 'Unable to create your custom filter.' => 'Impossible de créer votre filter personnalisé.', + 'Custom filter removed successfully.' => 'Filtre personnalisé supprimé avec succès.', + 'Unable to remove this custom filter.' => 'Impossible de supprimer ce filter personnalisé.', + 'Edit custom filter' => 'Modification d\'un filtre personnalisé', + 'Your custom filter have been updated successfully.' => 'Votre filtre personnalisé a été mis à jour avec succès.', + 'Unable to update custom filter.' => 'Impossible de mettre à jour votre filtre personnalisé.', 'Web' => 'Web', - 'New attachment on task #%d: %s' => 'Nouveau fichier joint sur la tâche n°%d : %s', + 'New attachment on task #%d: %s' => 'Nouveau fichier joint sur la tâche n°%d : %s', 'New comment on task #%d' => 'Nouveau commentaire sur la tâche n°%d', 'Comment updated on task #%d' => 'Commentaire mis à jour sur la tâche n°%d', 'New subtask on task #%d' => 'Nouvelle sous-tâche sur la tâche n°%d', 'Subtask updated on task #%d' => 'Sous-tâche mise à jour sur la tâche n°%d', - 'New task #%d: %s' => 'Nouvelle tâche n°%d : %s', + 'New task #%d: %s' => 'Nouvelle tâche n°%d : %s', 'Task updated #%d' => 'Tâche n°%d mise à jour', 'Task #%d closed' => 'Tâche n°%d fermée', 'Task #%d opened' => 'Tâche n°%d ouverte', @@ -789,7 +789,7 @@ return array( 'Shared' => 'Partagé', 'Owner' => 'Propriétaire', 'Unread notifications' => 'Notifications non lus', - 'Notification methods:' => 'Méthodes de notifications :', + 'Notification methods:' => 'Méthodes de notifications :', 'Unable to read your file' => 'Impossible de lire votre fichier', '%d task(s) have been imported successfully.' => '%d tâche(s) ont été importées avec succès.', 'Nothing have been imported!' => 'Rien n\'a été importé', @@ -804,11 +804,11 @@ return array( '%s attached a file to the task #%d' => '%s a attaché un fichier sur la tâche n°%d', 'There is no column or swimlane activated in your project!' => 'Il n\'y a aucune colonne ou swimlane dans votre projet !', 'Append filter (instead of replacement)' => 'Ajouter le filtre au lieu de le remplaçer', - 'Append/Replace' => 'Ajouter/Remplaçer', + 'Append/Replace' => 'Ajouter/Remplacer', 'Append' => 'Ajouter', - 'Replace' => 'Remplaçer', + 'Replace' => 'Remplacer', 'Import' => 'Importation', - 'Change sorting' => 'changer l\'ordre', + 'Change sorting' => 'Changer l\'ordre', 'Tasks Importation' => 'Importation des tâches', 'Delimiter' => 'Délimiteur', 'Enclosure' => 'Caractère d\'encadrement', @@ -818,7 +818,7 @@ return array( 'Your file must be encoded in UTF-8' => 'Votre fichier doit être encodé en UTF-8', 'The first row must be the header' => 'La première ligne doit être le titre des colonnes', 'Duplicates are not verified for you' => 'Les doublons ne sont pas vérifiés pour vous', - 'The due date must use the ISO format: YYYY-MM-DD' => 'La date d\'échéance doit utiliser le format ISO : AAAA-MM-JJ', + 'The due date must use the ISO format: YYYY-MM-DD' => 'La date d\'échéance doit utiliser le format ISO : AAAA-MM-JJ', 'Download CSV template' => 'Télécharger le modèle CSV', 'No external integration registered.' => 'Aucune intégration externe enregistrée.', 'Duplicates are not imported' => 'Les doublons ne sont pas importés', @@ -838,10 +838,10 @@ return array( 'Edit group' => 'Modifier le groupe', 'Group updated successfully.' => 'Groupe mis à jour avec succès.', 'Unable to update your group.' => 'Impossible de mettre à jour votre groupe.', - 'Add group member to "%s"' => 'Ajouter un membre au groupe « %s »', + 'Add group member to "%s"' => 'Ajouter un membre au groupe « %s »', 'Group member added successfully.' => 'Membre ajouté avec succès au groupe.', 'Unable to add group member.' => 'Impossible d\'ajouter ce membre au groupe.', - 'Remove user from group "%s"' => 'Supprimer un utilisateur d\'un groupe « %s »', + 'Remove user from group "%s"' => 'Supprimer un utilisateur d\'un groupe « %s »', 'User removed successfully from this group.' => 'Utilisateur supprimé avec succès de ce groupe.', 'Unable to remove this user from the group.' => 'Impossible de supprimer cet utilisateur du groupe.', 'Remove group' => 'Supprimer le groupe', @@ -853,14 +853,14 @@ return array( 'Project Member' => 'Membre du projet', 'Project Viewer' => 'Visualiseur de projet', 'Your account is locked for %d minutes' => 'Votre compte est verrouillé pour %d minutes', - 'Invalid captcha' => 'Captcha invalid', + 'Invalid captcha' => 'Captcha invalide', 'The name must be unique' => 'Le nom doit être unique', 'View all groups' => 'Voir tous les groupes', 'There is no user available.' => 'Il n\'y a aucun utilisateur disponible', - 'Do you really want to remove the user "%s" from the group "%s"?' => 'Voulez-vous vraiment supprimer l\'utilisateur « %s » du groupe « %s » ?', + 'Do you really want to remove the user "%s" from the group "%s"?' => 'Voulez-vous vraiment supprimer l\'utilisateur « %s » du groupe « %s » ?', 'There is no group.' => 'Il n\'y a aucun groupe.', 'Add group member' => 'Ajouter un membre au groupe', - 'Do you really want to remove this group: "%s"?' => 'Voulez-vous vraiment supprimer ce groupe : « %s » ?', + 'Do you really want to remove this group: "%s"?' => 'Voulez-vous vraiment supprimer ce groupe : « %s » ?', 'There is no user in this group.' => 'Il n\'y a aucun utilisateur dans ce groupe', 'Permissions' => 'Permissions', 'Allowed Users' => 'Utilisateurs autorisés', @@ -871,15 +871,15 @@ return array( 'No group have been allowed specifically.' => 'Aucun groupe a été autorisé spécifiquement.', 'Group' => 'Groupe', 'Group Name' => 'Nom du groupe', - 'Enter group name...' => 'Entrez le nom du groupe...', - 'Role:' => 'Rôle :', + 'Enter group name...' => 'Entrez le nom du groupe…', + 'Role:' => 'Rôle :', 'Project members' => 'Membres du projet', '%s mentioned you in the task #%d' => '%s vous a mentionné dans la tâche n°%d', '%s mentioned you in a comment on the task #%d' => '%s vous a mentionné dans un commentaire de la tâche n°%d', 'You were mentioned in the task #%d' => 'Vous avez été mentionné dans la tâche n°%d', 'You were mentioned in a comment on the task #%d' => 'Vous avez été mentionné dans un commentaire de la tâche n°%d', - 'Estimated hours: ' => 'Heures estimées : ', - 'Actual hours: ' => 'Heures actuelles : ', + 'Estimated hours: ' => 'Heures estimées : ', + 'Actual hours: ' => 'Heures actuelles : ', 'Hours Spent' => 'Heures passées', 'Hours Estimated' => 'Heures estimées', 'Estimated Time' => 'Temps estimé', @@ -889,30 +889,30 @@ return array( 'Assign the task to the person who does the action when the column is changed' => 'Assigner la tâche à la personne qui fait l\'action lorsque la colonne est changée', 'Close a task in a specific column' => 'Fermer une tâche dans une colonne specifique', 'Time-based One-time Password Algorithm' => 'Mot de passe à usage unique basé sur le temps', - 'Two-Factor Provider: ' => 'Fournisseur d\'authentification à deux facteurs : ', + 'Two-Factor Provider: ' => 'Fournisseur d\'authentification à deux facteurs : ', 'Disable two-factor authentication' => 'Désactiver l\'authentification à deux-facteurs', 'Enable two-factor authentication' => 'Activer l\'authentification à deux-facteurs', 'There is no integration registered at the moment.' => 'Il n\'y a aucune intégration enregistrée pour le moment.', 'Password Reset for Kanboard' => 'Réinitialisation du mot de passe pour Kanboard', - 'Forgot password?' => 'Mot de passe oublié ?', - 'Enable "Forget Password"' => 'Activer la fonctionnalité « Mot de passe oublié »', + 'Forgot password?' => 'Mot de passe oublié ?', + 'Enable "Forget Password"' => 'Activer la fonctionnalité « Mot de passe oublié »', 'Password Reset' => 'Réinitialisation du mot de passe', 'New password' => 'Nouveau mot de passe', 'Change Password' => 'Changer de mot de passe', - 'To reset your password click on this link:' => 'Pour réinitialiser votre mot de passe cliquer sur ce lien :', - 'Last Password Reset' => 'Dernières réinitialisation de mot de passe', + 'To reset your password click on this link:' => 'Pour réinitialiser votre mot de passe cliquer sur ce lien :', + 'Last Password Reset' => 'Dernières réinitialisations de mot de passe', 'The password has never been reinitialized.' => 'Le mot de passe n\'a jamais été réinitialisé.', 'Creation' => 'Création', 'Expiration' => 'Expiration', 'Password reset history' => 'Historique de la réinitialisation du mot de passe', - 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => 'Toutes les tâches de la colonne « %s » et de la swimlane « %s » ont été fermées avec succès.', - 'Do you really want to close all tasks of this column?' => 'Voulez-vous vraiment fermer toutes les tâches de cette colonne ?', - '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '%d tâche(s) dans la colonne « %s » et la swimlane « %s » seront fermées.', + 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => 'Toutes les tâches de la colonne « %s » et de la swimlane « %s » ont été fermées avec succès.', + 'Do you really want to close all tasks of this column?' => 'Voulez-vous vraiment fermer toutes les tâches de cette colonne ?', + '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '%d tâche(s) dans la colonne « %s » et la swimlane « %s » seront fermées.', 'Close all tasks of this column' => 'Fermer toutes les tâches de cette colonne', 'No plugin has registered a project notification method. You can still configure individual notifications in your user profile.' => 'Aucun plugin n\'a enregistré une méthode de notification de projet. Vous pouvez toujours configurer les notifications individuelles dans votre profil utilisateur.', 'My dashboard' => 'Mon tableau de bord', 'My profile' => 'Mon profil', - 'Project owner: ' => 'Responsable du projet : ', + 'Project owner: ' => 'Responsable du projet : ', 'The project identifier is optional and must be alphanumeric, example: MYPROJECT.' => 'L\'identifiant du projet est optionnel et doit être alphanumérique, example: MONPROJET.', 'Project owner' => 'Responsable du projet', 'Private projects do not have users and groups management.' => 'Les projets privés n\'ont pas de gestion d\'utilisateurs et de groupes.', @@ -942,7 +942,7 @@ return array( 'Add a new external link' => 'Ajouter un nouveau lien externe', 'Edit external link' => 'Modifier un lien externe', 'External link' => 'Lien externe', - 'Copy and paste your link here...' => 'Copier-coller vôtre lien ici...', + 'Copy and paste your link here...' => 'Copier-coller votre lien ici…', 'URL' => 'URL', 'Internal links' => 'Liens internes', 'Assign to me' => 'Assigner à moi', @@ -954,48 +954,48 @@ return array( 'Create from another project' => 'Créer depuis un autre projet', 'open' => 'ouvert', 'closed' => 'fermé', - 'Priority:' => 'Priorité :', - 'Reference:' => 'Référence :', - 'Complexity:' => 'Complexité :', - 'Swimlane:' => 'Swimlane :', - 'Column:' => 'Colonne :', - 'Position:' => 'Position :', - 'Creator:' => 'Créateur :', - 'Time estimated:' => 'Temps estimé :', + 'Priority:' => 'Priorité :', + 'Reference:' => 'Référence :', + 'Complexity:' => 'Complexité :', + 'Swimlane:' => 'Swimlane :', + 'Column:' => 'Colonne :', + 'Position:' => 'Position :', + 'Creator:' => 'Créateur :', + 'Time estimated:' => 'Temps estimé :', '%s hours' => '%s heures', - 'Time spent:' => 'Temps passé :', - 'Created:' => 'Créé le :', - 'Modified:' => 'Modifié le :', - 'Completed:' => 'Terminé le :', - 'Started:' => 'Commençé le :', - 'Moved:' => 'Déplacé le : ', + 'Time spent:' => 'Temps passé :', + 'Created:' => 'Créé le :', + 'Modified:' => 'Modifié le :', + 'Completed:' => 'Terminé le :', + 'Started:' => 'Commencé le :', + 'Moved:' => 'Déplacé le : ', 'Task #%d' => 'Tâche n°%d', 'Time format' => 'Format de l\'heure', - 'Start date: ' => 'Date de début : ', - 'End date: ' => 'Date de fin : ', - 'New due date: ' => 'Nouvelle date d\'échéance : ', - 'Start date changed: ' => 'Date de début modifiée : ', + 'Start date: ' => 'Date de début : ', + 'End date: ' => 'Date de fin : ', + 'New due date: ' => 'Nouvelle date d\'échéance : ', + 'Start date changed: ' => 'Date de début modifiée : ', 'Disable private projects' => 'Désactiver les projets privés', - 'Do you really want to remove this custom filter: "%s"?' => 'Voulez-vous vraiment supprimer ce filtre personnalisé : « %s » ?', + 'Do you really want to remove this custom filter: "%s"?' => 'Voulez-vous vraiment supprimer ce filtre personnalisé : « %s » ?', 'Remove a custom filter' => 'Supprimer un filtre personnalisé', 'User activated successfully.' => 'Utilisateur activé avec succès.', 'Unable to enable this user.' => 'Impossible d\'activer cet utilisateur.', 'User disabled successfully.' => 'Utilisateur désactivé avec succès.', 'Unable to disable this user.' => 'Impossible de désactiver cet utilisateur.', - 'All files have been uploaded successfully.' => 'Tous les fichiers ont été uploadés avec succès.', + 'All files have been uploaded successfully.' => 'Tous les fichiers ont été envoyés avec succès.', 'The maximum allowed file size is %sB.' => 'La taille maximale autorisée pour les fichiers est de %so.', 'Drag and drop your files here' => 'Glissez-déposez vos fichiers ici', 'choose files' => 'choisissez des fichiers', 'View profile' => 'Voir le profil', 'Two Factor' => 'Deux-Facteurs', 'Disable user' => 'Désactiver l\'utilisateur', - 'Do you really want to disable this user: "%s"?' => 'Voulez-vous vraiment désactiver cet utilisateur : « %s » ?', + 'Do you really want to disable this user: "%s"?' => 'Voulez-vous vraiment désactiver cet utilisateur : « %s » ?', 'Enable user' => 'Activer un utilisateur', - 'Do you really want to enable this user: "%s"?' => 'Voulez-vous vraiment activer cet utilisateur : « %s » ?', + 'Do you really want to enable this user: "%s"?' => 'Voulez-vous vraiment activer cet utilisateur : « %s » ?', 'Download' => 'Télécharger', - 'Uploaded: %s' => 'Uploadé : %s', - 'Size: %s' => 'Taille : %s', - 'Uploaded by %s' => 'Uploadé par %s', + 'Uploaded: %s' => 'Envoyé : %s', + 'Size: %s' => 'Taille : %s', + 'Uploaded by %s' => 'Envoyé par %s', 'Filename' => 'Nom du fichier', 'Size' => 'Taille', 'Column created successfully.' => 'La colonne a été créée avec succès.', @@ -1012,7 +1012,7 @@ return array( 'Change subtask position' => 'Changer la position de la sous-tâche', 'This value must be greater than %d' => 'Cette valeur doit être plus grande que %d', 'Another swimlane with the same name exists in the project' => 'Une autre swimlane existe avec le même nom dans le projet', - 'Example: http://example.kanboard.net/ (used to generate absolute URLs)' => 'Exemple : http://exemple.kanboard.net/ (utilisé pour générer les URLs absolues)', + 'Example: http://example.kanboard.net/ (used to generate absolute URLs)' => 'Exemple : http://exemple.kanboard.net/ (utilisé pour générer les URLs absolues)', 'Actions duplicated successfully.' => 'Actions dupliquées avec succès.', 'Unable to duplicate actions.' => 'Impossible de dupliquer les actions.', 'Add a new action' => 'Ajouter une nouvelle action', @@ -1022,11 +1022,11 @@ return array( 'There is no available project.' => 'Il n\'y a pas de projet disponible.', 'Local File' => 'Fichier local', 'Configuration' => 'Configuration', - 'PHP version:' => 'Version de PHP :', - 'PHP SAPI:' => 'PHP SAPI :', - 'OS version:' => 'Version du système d\'exploitation :', - 'Database version:' => 'Version de la base de donnée :', - 'Browser:' => 'Navigateur web :', + 'PHP version:' => 'Version de PHP :', + 'PHP SAPI:' => 'PHP SAPI :', + 'OS version:' => 'Version du système d\'exploitation :', + 'Database version:' => 'Version de la base de donnée :', + 'Browser:' => 'Navigateur web :', 'Task view' => 'Vue détaillée d\'une tâche', 'Edit task' => 'Modifier la tâche', 'Edit description' => 'Modifier la description', @@ -1043,17 +1043,17 @@ return array( 'My activities' => 'Mes activités', 'Activity until yesterday' => 'Activités jusqu\'à hier', 'Activity until today' => 'Activités jusqu\'à aujourd\'hui', - 'Search by creator: ' => 'Rechercher par créateur : ', - 'Search by creation date: ' => 'Rechercher par date de création : ', - 'Search by task status: ' => 'Rechercher par le statut des tâches : ', - 'Search by task title: ' => 'Rechercher par le titre des tâches : ', + 'Search by creator: ' => 'Rechercher par créateur : ', + 'Search by creation date: ' => 'Rechercher par date de création : ', + 'Search by task status: ' => 'Rechercher par le statut des tâches : ', + 'Search by task title: ' => 'Rechercher par le titre des tâches : ', 'Activity stream search' => 'Recherche dans le flux d\'activité', - 'Projects where "%s" is manager' => 'Projets où « %s » est gestionnaire', - 'Projects where "%s" is member' => 'Projets où « %s » est membre du projet', - 'Open tasks assigned to "%s"' => 'Tâches ouvertes assignées à « %s »', - 'Closed tasks assigned to "%s"' => 'Tâches fermées assignées à « %s »', + 'Projects where "%s" is manager' => 'Projets où « %s » est gestionnaire', + 'Projects where "%s" is member' => 'Projets où « %s » est membre du projet', + 'Open tasks assigned to "%s"' => 'Tâches ouvertes assignées à « %s »', + 'Closed tasks assigned to "%s"' => 'Tâches fermées assignées à « %s »', 'Assign automatically a color based on a priority' => 'Assigner automatiquement une couleur par rapport à une priorité', - 'Overdue tasks for the project(s) "%s"' => 'Tâches en retard pour le projet(s) « %s »', + 'Overdue tasks for the project(s) "%s"' => 'Tâches en retard pour le projet(s) « %s »', 'Upload files' => 'Uploader les fichiers', 'Installed Plugins' => 'Extensions installées', 'Plugin Directory' => 'Liste des extensions', @@ -1077,25 +1077,25 @@ return array( 'Up to date' => 'À jour', 'Not available' => 'Non disponible', 'Remove plugin' => 'Supprimer l\'extension', - 'Do you really want to remove this plugin: "%s"?' => 'Voulez-vous vraiment supprimer cette extension : « %s » ?', + 'Do you really want to remove this plugin: "%s"?' => 'Voulez-vous vraiment supprimer cette extension : « %s » ?', 'Uninstall' => 'Désinstaller', 'Listing' => 'Listing', 'Metadata' => 'Metadonnées', 'Manage projects' => 'Gérer les projets', 'Convert to task' => 'Convertir en tâche', 'Convert sub-task to task' => 'Convertir une sous-tâche en tâche', - 'Do you really want to convert this sub-task to a task?' => 'Voulez-vous vraiment convertir cette sous-tâche en tâche ?', + 'Do you really want to convert this sub-task to a task?' => 'Voulez-vous vraiment convertir cette sous-tâche en tâche ?', 'My task title' => 'Mon titre pour la tâche', 'Enter one task by line.' => 'Entrez une tâche par ligne.', - 'Number of failed login:' => 'Nombre de connexion échouées :', - 'Account locked until:' => 'Compte bloqué jusqu\'au :', + 'Number of failed login:' => 'Nombre de connexions échouées :', + 'Account locked until:' => 'Compte bloqué jusqu\'au :', 'Email settings' => 'Paramètres des emails', 'Email sender address' => 'Adresse email de l\'expéditeur', 'Email transport' => 'Transport des emails', 'Webhook token' => 'Jeton de sécurité des webhooks', 'Project tags management' => 'Gestion des libellés pour le projet', 'Tag created successfully.' => 'Libellé créé avec succès.', - 'Unable to create this tag.' => 'Imposssible de créer ce libellé.', + 'Unable to create this tag.' => 'Impossible de créer ce libellé.', 'Tag updated successfully.' => 'Libellé mis à jour avec succès.', 'Unable to update this tag.' => 'Impossible de mettre à jour ce libellé.', 'Tag removed successfully.' => 'Libellé supprimé avec succès.', @@ -1109,7 +1109,7 @@ return array( 'There is no specific tag for this project at the moment.' => 'Il n\'y a aucun libellé spécifique pour ce projet pour le moment.', 'Tag' => 'Libellé', 'Remove a tag' => 'Supprimer un libellé', - 'Do you really want to remove this tag: "%s"?' => 'Voulez-vous vraiment supprimer ce libellé : « %s » ?', + 'Do you really want to remove this tag: "%s"?' => 'Voulez-vous vraiment supprimer ce libellé : « %s » ?', 'Global tags' => 'Libellés globaux', 'There is no global tag at the moment.' => 'Il n\'y a aucun libellé global pour le moment.', 'This field cannot be empty' => 'Ce champ ne peut être vide', @@ -1151,7 +1151,7 @@ return array( 'Unlock this user' => 'Débloquer cet utilisateur', 'Custom Project Roles' => 'Rôles personnalisés du projet', 'Add a new custom role' => 'Ajouter un nouveau rôle personnalisé', - 'Restrictions for the role "%s"' => 'Restrictions pour le rôle « %s »', + 'Restrictions for the role "%s"' => 'Restrictions pour le rôle « %s »', 'Add a new project restriction' => 'Ajouter une nouvelle restriction pour ce projet', 'Add a new drag and drop restriction' => 'Ajouter une nouvelle restriction pour le glisser-déposer', 'Add a new column restriction' => 'Ajouter une nouvelle restriction basé sur les colonnes', @@ -1181,41 +1181,41 @@ return array( 'Closing or opening a task is blocked for this column' => 'Fermer ou ouvrir une tâche est interdit pour cette colonne', 'Task creation is not permitted' => 'La création de tâche n\'est pas permise', 'Closing or opening a task is not permitted' => 'Fermer ou ouvrir une tâche n\'est pas autorisé', - 'New drag and drop restriction for the role "%s"' => 'Nouvelle restriction de glisser-déposer pour le rôle « %s »', - 'People belonging to this role will be able to move tasks only between the source and the destination column.' => 'Les gens qui font partis de ce rôle pourrons seulement déplaçer des tâches entre la colonne source et de destination.', + 'New drag and drop restriction for the role "%s"' => 'Nouvelle restriction de glisser-déposer pour le rôle « %s »', + 'People belonging to this role will be able to move tasks only between the source and the destination column.' => 'Les gens qui font partie de ce rôle pourront seulement déplacer des tâches entre la colonne source et de destination.', 'Remove a column restriction' => 'Supprimer une restriction de colonne', - 'Do you really want to remove this column restriction: "%s" to "%s"?' => 'Voulez-vous vraiment supprimer cette restriction de colonne : « %s » vers « %s » ?', - 'New column restriction for the role "%s"' => 'Nouvelle restriction de colonne pour le rôle « %s »', + 'Do you really want to remove this column restriction: "%s" to "%s"?' => 'Voulez-vous vraiment supprimer cette restriction de colonne : « %s » vers « %s » ?', + 'New column restriction for the role "%s"' => 'Nouvelle restriction de colonne pour le rôle « %s »', 'Rule' => 'Règle', - 'Do you really want to remove this column restriction?' => 'Voulez-vous vraiment supprimer cette restriction de colonne ?', + 'Do you really want to remove this column restriction?' => 'Voulez-vous vraiment supprimer cette restriction de colonne ?', 'Custom roles' => 'Rôles personnalisés', 'New custom project role' => 'Nouveau rôle de projet personnalisé', 'Edit custom project role' => 'Modifier un rôle de projet personnalisé', 'Remove a custom role' => 'Supprimer un rôle personnalisé', - 'Do you really want to remove this custom role: "%s"? All people assigned to this role will become project member.' => 'Voulez-vous vraiment supprimer ce rôle personnalisé « %s » ? Tous les gens assignés à ce rôle deviendrons membre du projet.', + 'Do you really want to remove this custom role: "%s"? All people assigned to this role will become project member.' => 'Voulez-vous vraiment supprimer ce rôle personnalisé « %s » ? Tous les gens assignés à ce rôle deviendrons membre du projet.', 'There is no custom role for this project.' => 'Il n\'y a aucun rôle personnalisé pour ce projet.', - 'New project restriction for the role "%s"' => 'Nouvelle restriction de projet pour le rôle « %s »', + 'New project restriction for the role "%s"' => 'Nouvelle restriction de projet pour le rôle « %s »', 'Restriction' => 'Restriction', - 'Remove a project restriction' => 'Supprimer une restriction de project', - 'Do you really want to remove this project restriction: "%s"?' => 'Voulez-vous vraiment supprimer cette restriction de projet : « %s » ?', + 'Remove a project restriction' => 'Supprimer une restriction de projet', + 'Do you really want to remove this project restriction: "%s"?' => 'Voulez-vous vraiment supprimer cette restriction de projet : « %s » ?', 'Duplicate to multiple projects' => 'Dupliquer vers plusieurs projets', 'This field is required' => 'Ce champ est requis', - 'Moving a task is not permitted' => 'Déplaçer une tâche n\'est pas autorisé', + 'Moving a task is not permitted' => 'Déplacer une tâche n\'est pas autorisé', 'This value must be in the range %d to %d' => 'Cette valeur doit être définie entre %d et %d', 'You are not allowed to move this task.' => 'Vous n\'êtes pas autorisé à déplacer cette tâche.', 'API User Access' => 'Accès utilisateur de l\'API', 'Preview' => 'Aperçu', 'Write' => 'Écrire', 'Write your text in Markdown' => 'Écrivez votre texte en Markdown', - 'New External Task: %s' => 'Nouvelle tâche externe : %s', + 'New External Task: %s' => 'Nouvelle tâche externe : %s', 'No personal API access token registered.' => 'Aucun jeton d\'accès personnel à l\'API enregistré.', - 'Your personal API access token is "%s"' => 'Votre jeton d\'accès personnel à l\'API est « %s »', + 'Your personal API access token is "%s"' => 'Votre jeton d\'accès personnel à l\'API est « %s »', 'Remove your token' => 'Supprimer votre jeton', 'Generate a new token' => 'Générer un nouveau jeton', 'Showing %d-%d of %d' => 'Éléments %d à %d sur %d', 'Outgoing Emails' => 'Emails sortants', 'Add or change currency rate' => 'Ajouter ou changer le taux de change', - 'Reference currency: %s' => 'Monnaie de référence : %s', + 'Reference currency: %s' => 'Monnaie de référence : %s', 'Add custom filters' => 'Ajouter un filtre personnalisé', 'Export' => 'Exporter', 'Add link label' => 'Ajouter un libellé de lien', @@ -1234,8 +1234,8 @@ return array( 'Unable to create this user.' => 'Impossible de créer cet utilisateur.', 'Kanboard Invitation' => 'Invitation pour Kanboard', 'Visible on dashboard' => 'Visible sur le tableau de bord', - 'Created at:' => 'Créé le :', - 'Updated at:' => 'Mis à jour le :', + 'Created at:' => 'Créé le :', + 'Updated at:' => 'Mis à jour le :', 'There is no custom filter.' => 'Il n\'y a aucun filtre personnalisé.', 'New User' => 'Nouvel utilisateur', 'Authentication' => 'Authentification', @@ -1254,7 +1254,7 @@ return array( 'This username is already taken' => 'Ce nom d\'utilisateur est déjà pris', 'A link to reset your password has been sent by email.' => 'Un lien pour réinitialiser votre mot de passe a été envoyé par email.', 'Your profile must have a valid email address.' => 'Votre profil doit avoir une adresse e-mail valide.', - 'Unfortunately, we are unable to reset your password. Did you entered a valid username? Do you have an email address in your profile?' => 'Malheureusement, nous ne pouvons pas réinitialiser votre mot de passe. Avez-vous saisi un nom d\'utilisateur valide ? Avez-vous une adresse e-mail dans votre profil ?', + 'Unfortunately, we are unable to reset your password. Did you entered a valid username? Do you have an email address in your profile?' => 'Malheureusement, nous ne pouvons pas réinitialiser votre mot de passe. Avez-vous saisi un nom d\'utilisateur valide ? Avez-vous une adresse e-mail dans votre profil ?', 'TRL - Turkish Lira' => 'TRL - Livre turque', 'The project email is optional and could be used by several plugins.' => 'L\'adresse email d\'un projet est optionnel et pourrait être utilisé par plusieurs extensions.', 'The project email must be unique across all projects' => 'L\'adresse email d\'un projet doit être unique pour tous les projets', @@ -1262,9 +1262,9 @@ return array( 'Close this project' => 'Fermer ce projet', 'Open this project' => 'Ouvrir ce projet', 'Close a project' => 'Fermer un projet', - 'Do you really want to close this project: "%s"?' => 'Voulez-vous vraiment fermer ce projet : « %s » ?', + 'Do you really want to close this project: "%s"?' => 'Voulez-vous vraiment fermer ce projet : « %s » ?', 'Reopen a project' => 'Réouvrir un projet', - 'Do you really want to reopen this project: "%s"?' => 'Voulez-vous vraiment réouvrir ce projet : « %s » ?', + 'Do you really want to reopen this project: "%s"?' => 'Voulez-vous vraiment réouvrir ce projet : « %s » ?', 'This project is open' => 'Ce projet est actif', 'This project is closed' => 'Ce projet est fermé', 'Unable to upload files, check the permissions of your data folder.' => 'Impossible de transférer le ou les fichiers, vérifiez les permissions du répertoire de données.', @@ -1283,8 +1283,8 @@ return array( 'Database file' => 'Fichier de la base de données', 'Upload' => 'Téléverser', 'Your project must have at least one active swimlane.' => 'Votre projet doit avoir au moins une swimlane active.', - 'Project: %s' => 'Projet : %s', - 'Automatic action not found: "%s"' => 'Action automatique introuvable : « %s »', + 'Project: %s' => 'Projet : %s', + 'Automatic action not found: "%s"' => 'Action automatique introuvable : « %s »', '%d projects' => '%d projets', '%d project' => '%d projet', 'There is no project.' => 'Il n\'y a pas de projet.', @@ -1313,8 +1313,8 @@ return array( 'API Access' => 'Accès à l\'API', 'No users found.' => 'Aucun utilisateur trouvé.', 'User ID' => 'ID de l\'utilisateur', - 'Notifications are activated' => 'Notifications activés', - 'Notifications are disabled' => 'Notifications désactivés', + 'Notifications are activated' => 'Notifications activées', + 'Notifications are disabled' => 'Notifications désactivées', 'User disabled' => 'Utilisateur désactivé', '%d notifications' => '%d notifications', '%d notification' => '%d notification', @@ -1335,7 +1335,7 @@ return array( 'DKK - Danish Krona' => 'DKK - Couronne danoise', 'Remove user from group' => 'Supprimer cet utilisateur du groupe', 'Assign the task to its creator' => 'Assigner une tâche à son créateur', - 'This task was sent by email to "%s" with subject "%s".' => 'Cette tâche a été envoyée par courrier électronique à « %s » avec le sujet « %s ».', + 'This task was sent by email to "%s" with subject "%s".' => 'Cette tâche a été envoyée par courrier électronique à « %s » avec le sujet « %s ».', 'Predefined Email Subjects' => 'Sujets de courrier électronique prédéfinis', 'Write one subject by line.' => 'Écrivez un sujet par ligne.', 'Create another link' => 'Créer un autre lien', -- cgit v1.2.3 From ad6f898134a3aadc38571f5c8e11d37f43a953e3 Mon Sep 17 00:00:00 2001 From: Florian Wernert Date: Tue, 11 Jul 2017 10:33:40 +0200 Subject: Feature request #2072 : Quick edit in the list view Added the quick link to the edit modal on the tasks in the board view, both expanded and collapsed --- app/Template/board/task_private.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'app') diff --git a/app/Template/board/task_private.php b/app/Template/board/task_private.php index 28e53473..ccf09932 100644 --- a/app/Template/board/task_private.php +++ b/app/Template/board/task_private.php @@ -19,6 +19,7 @@ user->hasProjectAccess('TaskModificationController', 'edit', $task['project_id'])): ?> render('task/dropdown', array('task' => $task)) ?> + modal->large('edit', '', 'TaskModificationController', 'edit', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?> @@ -36,6 +37,7 @@
user->hasProjectAccess('TaskModificationController', 'edit', $task['project_id'])): ?> render('task/dropdown', array('task' => $task)) ?> + modal->large('edit', '', 'TaskModificationController', 'edit', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?> -- cgit v1.2.3 From 4bb422b41fd995cb67c41ad4b7ba155a84c6f1eb Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Thu, 12 Oct 2017 14:01:39 -0700 Subject: Render a dropdown menu for external task providers --- app/Core/ExternalTask/ExternalTaskManager.php | 10 ++++ .../ExternalTask/ExternalTaskProviderInterface.php | 16 +++++++ app/Helper/TaskHelper.php | 54 ++++++++++++++++++++++ app/Locale/bs_BA/translations.php | 1 + app/Locale/ca_ES/translations.php | 1 + app/Locale/cs_CZ/translations.php | 1 + app/Locale/da_DK/translations.php | 1 + app/Locale/de_DE/translations.php | 1 + app/Locale/el_GR/translations.php | 1 + app/Locale/es_ES/translations.php | 1 + app/Locale/fi_FI/translations.php | 1 + app/Locale/fr_FR/translations.php | 1 + app/Locale/hr_HR/translations.php | 1 + app/Locale/hu_HU/translations.php | 1 + app/Locale/id_ID/translations.php | 1 + app/Locale/it_IT/translations.php | 1 + app/Locale/ja_JP/translations.php | 1 + app/Locale/ko_KR/translations.php | 1 + app/Locale/my_MY/translations.php | 1 + app/Locale/nb_NO/translations.php | 1 + app/Locale/nl_NL/translations.php | 1 + app/Locale/pl_PL/translations.php | 1 + app/Locale/pt_BR/translations.php | 1 + app/Locale/pt_PT/translations.php | 1 + app/Locale/ru_RU/translations.php | 1 + app/Locale/sr_Latn_RS/translations.php | 1 + app/Locale/sv_SE/translations.php | 1 + app/Locale/th_TH/translations.php | 1 + app/Locale/tr_TR/translations.php | 1 + app/Locale/vi_VN/translations.php | 1 + app/Locale/zh_CN/translations.php | 1 + app/Template/board/table_column.php | 4 +- 32 files changed, 109 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/Core/ExternalTask/ExternalTaskManager.php b/app/Core/ExternalTask/ExternalTaskManager.php index 102ec459..87a46b71 100644 --- a/app/Core/ExternalTask/ExternalTaskManager.php +++ b/app/Core/ExternalTask/ExternalTaskManager.php @@ -55,4 +55,14 @@ class ExternalTaskManager return array(); } + + /** + * Get all providers + * + * @return ExternalTaskProviderInterface[] + */ + public function getProviders() + { + return $this->providers; + } } diff --git a/app/Core/ExternalTask/ExternalTaskProviderInterface.php b/app/Core/ExternalTask/ExternalTaskProviderInterface.php index f67f7552..5678efb8 100644 --- a/app/Core/ExternalTask/ExternalTaskProviderInterface.php +++ b/app/Core/ExternalTask/ExternalTaskProviderInterface.php @@ -18,6 +18,22 @@ interface ExternalTaskProviderInterface */ public function getName(); + /** + * Get provider icon + * + * @access public + * @return string + */ + public function getIcon(); + + /** + * Get label for adding a new task + * + * @access public + * @return string + */ + public function getMenuAddLabel(); + /** * Retrieve task from external system or cache * diff --git a/app/Helper/TaskHelper.php b/app/Helper/TaskHelper.php index f3084759..3b9e9745 100644 --- a/app/Helper/TaskHelper.php +++ b/app/Helper/TaskHelper.php @@ -256,4 +256,58 @@ class TaskHelper extends Base $html .= '
'; return $html; } + + public function getNewBoardTaskButton(array $swimlane, array $column) + { + $html = '
'; + $providers = $this->externalTaskManager->getProviders(); + + if (empty($providers)) { + $html .= $this->helper->modal->largeIcon( + 'plus', + t('Add a new task'), + 'TaskCreationController', + 'show', array( + 'project_id' => $column['project_id'], + 'column_id' => $column['id'], + 'swimlane_id' => $swimlane['id'], + ) + ); + } else { + $html .= ''; + } + + $html .= '
'; + + return $html; + } } diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php index bddfafe7..5d9757fb 100644 --- a/app/Locale/bs_BA/translations.php +++ b/app/Locale/bs_BA/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/ca_ES/translations.php b/app/Locale/ca_ES/translations.php index 7e8100dc..5c39c926 100644 --- a/app/Locale/ca_ES/translations.php +++ b/app/Locale/ca_ES/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php index 922cec5e..178ce0e2 100644 --- a/app/Locale/cs_CZ/translations.php +++ b/app/Locale/cs_CZ/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php index d5126359..277efcee 100644 --- a/app/Locale/da_DK/translations.php +++ b/app/Locale/da_DK/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php index 51f544e8..496a11f2 100644 --- a/app/Locale/de_DE/translations.php +++ b/app/Locale/de_DE/translations.php @@ -1340,4 +1340,5 @@ return array( 'Write one subject by line.' => 'Schreibe ein Betreff pro Zeile.', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php index 926cfd28..2ce91756 100644 --- a/app/Locale/el_GR/translations.php +++ b/app/Locale/el_GR/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php index b05ad4da..65424fd2 100644 --- a/app/Locale/es_ES/translations.php +++ b/app/Locale/es_ES/translations.php @@ -1340,4 +1340,5 @@ return array( 'Write one subject by line.' => 'Escriba un asunto por línea.', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php index 3c65ab7e..98f5e216 100644 --- a/app/Locale/fi_FI/translations.php +++ b/app/Locale/fi_FI/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php index b1845377..0fe5f17b 100644 --- a/app/Locale/fr_FR/translations.php +++ b/app/Locale/fr_FR/translations.php @@ -1340,4 +1340,5 @@ return array( 'Write one subject by line.' => 'Écrivez un sujet par ligne.', 'Create another link' => 'Créer un autre lien', 'BRL - Brazilian Real' => 'BRL - Real brésilien', + 'Add a new Kanboard task' => 'Ajouter une nouvelle tâche Kanboard', ); diff --git a/app/Locale/hr_HR/translations.php b/app/Locale/hr_HR/translations.php index 0d690b61..f0cf0ae1 100644 --- a/app/Locale/hr_HR/translations.php +++ b/app/Locale/hr_HR/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php index 5f17805b..7e4809f5 100644 --- a/app/Locale/hu_HU/translations.php +++ b/app/Locale/hu_HU/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php index 653bcf9d..5a3ea6a1 100644 --- a/app/Locale/id_ID/translations.php +++ b/app/Locale/id_ID/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php index 45a58944..8252c3d0 100644 --- a/app/Locale/it_IT/translations.php +++ b/app/Locale/it_IT/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php index 70da2a8d..b7f592c3 100644 --- a/app/Locale/ja_JP/translations.php +++ b/app/Locale/ja_JP/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php index 4f164e36..c85e3469 100644 --- a/app/Locale/ko_KR/translations.php +++ b/app/Locale/ko_KR/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php index 95c09334..86e92360 100644 --- a/app/Locale/my_MY/translations.php +++ b/app/Locale/my_MY/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php index 8f5482a3..56b58eec 100644 --- a/app/Locale/nb_NO/translations.php +++ b/app/Locale/nb_NO/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php index a8de3aa3..cb588a66 100644 --- a/app/Locale/nl_NL/translations.php +++ b/app/Locale/nl_NL/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php index 58cfb42e..662bcd96 100644 --- a/app/Locale/pl_PL/translations.php +++ b/app/Locale/pl_PL/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php index cf46cf9a..38e9a072 100644 --- a/app/Locale/pt_BR/translations.php +++ b/app/Locale/pt_BR/translations.php @@ -1340,4 +1340,5 @@ return array( 'Write one subject by line.' => 'Escreva um assunto por linha.', 'Create another link' => 'Criar outro link', 'BRL - Brazilian Real' => 'BRL - Real Brasileiro', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php index 25f8ff4a..d0cf5d70 100644 --- a/app/Locale/pt_PT/translations.php +++ b/app/Locale/pt_PT/translations.php @@ -1340,4 +1340,5 @@ return array( 'Write one subject by line.' => 'Escreva um assunto por linha.', 'Create another link' => 'Criar outro link', 'BRL - Brazilian Real' => 'BRL - Real Brasileiro', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php index 11571df7..90bac3f6 100644 --- a/app/Locale/ru_RU/translations.php +++ b/app/Locale/ru_RU/translations.php @@ -1340,4 +1340,5 @@ return array( 'Write one subject by line.' => 'Записываются по одной теме на строку.', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php index 97062ec6..aa4d29e7 100644 --- a/app/Locale/sr_Latn_RS/translations.php +++ b/app/Locale/sr_Latn_RS/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php index 7bc73b44..882ccce5 100644 --- a/app/Locale/sv_SE/translations.php +++ b/app/Locale/sv_SE/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php index 871c21ba..d5f49540 100644 --- a/app/Locale/th_TH/translations.php +++ b/app/Locale/th_TH/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php index 7f55634f..efcbbbd7 100644 --- a/app/Locale/tr_TR/translations.php +++ b/app/Locale/tr_TR/translations.php @@ -1340,4 +1340,5 @@ return array( 'Write one subject by line.' => 'Her satıra bir konu yazınız', 'Create another link' => 'Başka bağlantı oluştur', 'BRL - Brazilian Real' => 'BRL - Brezilya Reali', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/vi_VN/translations.php b/app/Locale/vi_VN/translations.php index 387791b5..7fa77c9f 100644 --- a/app/Locale/vi_VN/translations.php +++ b/app/Locale/vi_VN/translations.php @@ -1346,4 +1346,5 @@ return array( 'Write one subject by line.' => 'Viết một chủ đề theo dòng.', 'Create another link' => 'Tạo liên kết khác', 'BRL - Brazilian Real' => 'BRL - Brazilian Real', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php index 8df657cb..5cea713f 100644 --- a/app/Locale/zh_CN/translations.php +++ b/app/Locale/zh_CN/translations.php @@ -1340,4 +1340,5 @@ return array( // 'Write one subject by line.' => '', // 'Create another link' => '', // 'BRL - Brazilian Real' => '', + // 'Add a new Kanboard task' => '', ); diff --git a/app/Template/board/table_column.php b/app/Template/board/table_column.php index 9d2815ff..a9652a2b 100644 --- a/app/Template/board/table_column.php +++ b/app/Template/board/table_column.php @@ -16,9 +16,7 @@
projectRole->canCreateTaskInColumn($column['project_id'], $column['id'])): ?> -
- modal->largeIcon('plus', t('Add a new task'), 'TaskCreationController', 'show', array('project_id' => $column['project_id'], 'column_id' => $column['id'], 'swimlane_id' => $swimlane['id'])) ?> -
+ task->getNewBoardTaskButton($swimlane, $column) ?> 1 && ! empty($column['column_nb_tasks'])): ?> -- cgit v1.2.3 From 7c52546ed2b5ed724d19af95fe97726ab6156291 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Thu, 12 Oct 2017 15:25:13 -0700 Subject: Generate a link if the reference is a URL --- app/Helper/TaskHelper.php | 15 +++++++++++++++ app/Template/board/task_footer.php | 2 +- app/Template/task/details.php | 2 +- app/Template/task_list/task_icons.php | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/Helper/TaskHelper.php b/app/Helper/TaskHelper.php index 3b9e9745..065ece10 100644 --- a/app/Helper/TaskHelper.php +++ b/app/Helper/TaskHelper.php @@ -220,6 +220,21 @@ class TaskHelper extends Base return $html; } + public function renderReference(array $task) + { + if (! empty($task['reference'])) { + $reference = $this->helper->text->e($task['reference']); + + if (filter_var($task['reference'], FILTER_VALIDATE_URL) !== false) { + return sprintf('%s', $reference, $reference); + } + + return $reference; + } + + return ''; + } + public function getProgress($task) { if (! isset($this->columns[$task['project_id']])) { diff --git a/app/Template/board/task_footer.php b/app/Template/board/task_footer.php index c78616e9..4ea5bb31 100644 --- a/app/Template/board/task_footer.php +++ b/app/Template/board/task_footer.php @@ -32,7 +32,7 @@
- text->e($task['reference']) ?> + task->renderReference($task) ?>
diff --git a/app/Template/task/details.php b/app/Template/task/details.php index a42e09d1..3b4d4b38 100644 --- a/app/Template/task/details.php +++ b/app/Template/task/details.php @@ -22,7 +22,7 @@
  • - text->e($task['reference']) ?> + task->renderReference($task) ?>
  • diff --git a/app/Template/task_list/task_icons.php b/app/Template/task_list/task_icons.php index 03a891a2..d02c9021 100644 --- a/app/Template/task_list/task_icons.php +++ b/app/Template/task_list/task_icons.php @@ -1,7 +1,7 @@
    - text->e($task['reference']) ?> + task->renderReference($task) ?> -- cgit v1.2.3 From fcc0ea6feefa888f87ad0ddaaf225a0e7804b3bc Mon Sep 17 00:00:00 2001 From: Yannick A Date: Fri, 13 Oct 2017 17:03:45 +0200 Subject: Update French translation - Adding non-breakable spaces before units - Correcting spelling errors - Correction of diacritics --- app/Locale/fr_FR/translations.php | 84 +++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 42 deletions(-) (limited to 'app') diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php index 0fe5f17b..11f7773a 100644 --- a/app/Locale/fr_FR/translations.php +++ b/app/Locale/fr_FR/translations.php @@ -77,7 +77,7 @@ return array( 'Download the database' => 'Télécharger la base de données', 'Optimize the database' => 'Optimiser la base de données', '(VACUUM command)' => '(Commande VACUUM)', - '(Gzip compressed Sqlite file)' => '(Fichier Sqlite compressé en Gzip)', + '(Gzip compressed Sqlite file)' => '(Fichier SQLite compressé en Gzip)', 'Close a task' => 'Fermer une tâche', 'Column' => 'Colonne', 'Color' => 'Couleur', @@ -101,7 +101,7 @@ return array( 'The username must be unique' => 'Le nom d\'utilisateur doit être unique', 'The user id is required' => 'L\'id de l\'utilisateur est obligatoire', 'Passwords don\'t match' => 'Les mots de passe ne correspondent pas', - 'The confirmation is required' => 'Le confirmation est requise', + 'The confirmation is required' => 'La confirmation est requise', 'The project is required' => 'Le projet est obligatoire', 'The id is required' => 'L\'identifiant est obligatoire', 'The project id is required' => 'L\'identifiant du projet est obligatoire', @@ -162,10 +162,10 @@ return array( 'Action removed successfully.' => 'Action supprimée avec succès.', 'Automatic actions for the project "%s"' => 'Actions automatisées pour le projet « %s »', 'Add an action' => 'Ajouter une action', - 'Event name' => 'Nom de l\'événement', + 'Event name' => 'Nom de l\'évènement', 'Action' => 'Action', - 'Event' => 'Événement', - 'When the selected event occurs execute the corresponding action.' => 'Lorsque l\'événement sélectionné se déclenche, exécuter l\'action correspondante.', + 'Event' => 'Évènement', + 'When the selected event occurs execute the corresponding action.' => 'Lorsque l\'évènement sélectionné se déclenche, exécuter l\'action correspondante.', 'Next step' => 'Étape suivante', 'Define action parameters' => 'Définition des paramètres de l\'action', 'Do you really want to remove this action: "%s"?' => 'Voulez-vous vraiment supprimer cette action « %s » ?', @@ -341,8 +341,8 @@ return array( '%s closed the task %s' => '%s a fermé la tâche %s', '%s created a subtask for the task %s' => '%s a créé une sous-tâche pour la tâche %s', '%s updated a subtask for the task %s' => '%s a mis à jour une sous-tâche appartenant à la tâche %s', - 'Assigned to %s with an estimate of %s/%sh' => 'Assigné à %s avec un estimé de %s/%sh', - 'Not assigned, estimate of %sh' => 'Personne assigné, estimé de %sh', + 'Assigned to %s with an estimate of %s/%sh' => 'Assigné à %s avec un estimé de %s/%s h', + 'Not assigned, estimate of %sh' => 'Personne assigné, estimé de %s h', '%s updated a comment on the task %s' => '%s a mis à jour un commentaire appartenant à la tâche %s', '%s commented the task %s' => '%s a ajouté un commentaire sur la tâche %s', '%s\'s activity' => 'Activité du projet %s', @@ -362,7 +362,7 @@ return array( '%s changed the assignee of the task #%d to %s' => '%s a changé la personne assignée à la tâche n˚%d pour %s', '%s changed the assignee of the task %s to %s' => '%s a changé la personne assignée à la tâche %s pour %s', 'New password for the user "%s"' => 'Nouveau mot de passe pour l\'utilisateur « %s »', - 'Choose an event' => 'Choisir un événement', + 'Choose an event' => 'Choisir un évènement', 'Create a task from an external provider' => 'Créer une tâche depuis un fournisseur externe', 'Change the assignee based on an external username' => 'Changer l\'assigné en fonction d\'un utilisateur externe', 'Change the category based on an external label' => 'Changer la catégorie en fonction d\'un libellé externe', @@ -375,8 +375,8 @@ return array( 'Webhook settings' => 'Paramètres pour les webhooks', 'Reset token' => 'Regénérer le jeton de sécurité', 'API endpoint:' => 'URL de l\'API :', - 'Refresh interval for private board' => 'Intervalle pour rafraîchir un tableau privé', - 'Refresh interval for public board' => 'Intervalle pour rafraîchir un tableau public', + 'Refresh interval for private board' => 'Intervalle pour rafraichir un tableau privé', + 'Refresh interval for public board' => 'Intervalle pour rafraichir un tableau public', 'Task highlight period' => 'Durée pour mettre une tâche en évidence', 'Period (in second) to consider a task was modified recently (0 to disable, 2 days by default)' => 'Durée en seconde pour considérer une tâche comme récemment modifiée (0 pour désactiver, 2 jours par défaut)', 'Frequency in second (60 seconds by default)' => 'Fréquence en seconde (60 secondes par défaut)', @@ -474,7 +474,7 @@ return array( 'End' => 'Fin', 'Task age in days' => 'Âge de la tâche en jours', 'Days in this column' => 'Jours dans cette colonne', - '%dd' => '%dj', + '%dd' => '%d j', 'Add a new link' => 'Ajouter un nouveau lien', 'Do you really want to remove this link: "%s"?' => 'Voulez-vous vraiment supprimer ce lien : « %s » ?', 'Do you really want to remove this link with task #%d?' => 'Voulez-vous vraiment supprimer ce lien avec la tâche n°%d ?', @@ -505,12 +505,12 @@ return array( 'fixes' => 'corrige', 'is fixed by' => 'est corrigée par', 'This task' => 'Cette tâche', - '<1h' => '<1h', - '%dh' => '%dh', + '<1h' => '< 1 h', + '%dh' => '%d h', 'Expand tasks' => 'Déplier les tâches', 'Collapse tasks' => 'Replier les tâches', 'Expand/collapse tasks' => 'Plier/déplier les tâches', - 'Close dialog box' => 'Fermer une boîte de dialogue', + 'Close dialog box' => 'Fermer une boite de dialogue', 'Submit a form' => 'Enregistrer un formulaire', 'Board view' => 'Page du tableau', 'Keyboard shortcuts' => 'Raccourcis clavier', @@ -575,7 +575,7 @@ return array( 'Disable two factor authentication' => 'Désactiver l\'authentification à deux facteurs', 'Do you really want to disable the two factor authentication for this user: "%s"?' => 'Voulez-vous vraiment désactiver l\'authentification à deux facteurs pour cet utilisateur : « %s » ?', 'Edit link' => 'Modifier un lien', - 'Start to type task title...' => 'Entrez le titre de la tâche...', + 'Start to type task title...' => 'Entrez le titre de la tâche…', 'A task cannot be linked to itself' => 'Une tâche ne peut être liée à elle-même', 'The exact same link already exists' => 'Un lien identique existe déjà', 'Recurrent task is scheduled to be generated' => 'La tâche récurrente est programmée pour être créée', @@ -642,12 +642,12 @@ return array( 'The due date have been removed' => 'La date d\'échéance a été enlevée', 'There is no description anymore' => 'Il n\'y a plus de description maintenant', 'Recurrence settings have been modified' => 'Les réglages de la récurrence ont été modifiés', - 'Time spent changed: %sh' => 'Le temps passé a été changé : %sh', - 'Time estimated changed: %sh' => 'Le temps estimé a été changé : %sh', + 'Time spent changed: %sh' => 'Le temps passé a été changé : %s h', + 'Time estimated changed: %sh' => 'Le temps estimé a été changé : %s h', 'The field "%s" have been updated' => 'Le champ « %s » a été mis à jour', 'The description has been modified:' => 'La description a été modifiée', 'Do you really want to close the task "%s" as well as all subtasks?' => 'Voulez-vous vraiment fermer la tâche « %s » ainsi que toutes ses sous-tâches ?', - 'I want to receive notifications for:' => 'Je veux reçevoir les notifications pour :', + 'I want to receive notifications for:' => 'Je veux recevoir les notifications pour :', 'All tasks' => 'Toutes les Tâches', 'Only for tasks assigned to me' => 'Seulement les tâches qui me sont assignées', 'Only for tasks created by me' => 'Seulement les tâches que j\'ai créées', @@ -655,8 +655,8 @@ return array( '%%Y-%%m-%%d' => '%%d/%%m/%%Y', 'Total for all columns' => 'Total pour toutes les colonnes', 'You need at least 2 days of data to show the chart.' => 'Vous avez besoin d\'au minimum 2 jours de données pour afficher le graphique.', - '<15m' => '<15m', - '<30m' => '<30m', + '<15m' => '< 15 min', + '<30m' => '< 30 min', 'Stop timer' => 'Stopper le chrono', 'Start timer' => 'Démarrer le chrono', 'My activity stream' => 'Mon flux d\'activité', @@ -709,7 +709,7 @@ return array( 'Set automatically the start date' => 'Définir automatiquement la date de début', 'Edit Authentication' => 'Modifier l\'authentification', 'Remote user' => 'Utilisateur distant', - 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Les utilisateurs distants ne stockent pas leur mot de passe dans la base de données de Kanboard, exemples : comptes LDAP, Github ou Google.', + 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Les utilisateurs distants ne stockent pas leur mot de passe dans la base de données de Kanboard, exemples : comptes LDAP, GitHub ou Google.', 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Si vous cochez la case « Interdire le formulaire d\'authentification », les identifiants entrés dans le formulaire d\'authentification seront ignorés.', 'Default task color' => 'Couleur par défaut des tâches', 'This feature does not work with all browsers.' => 'Cette fonctionnalité n\'est pas compatible avec tous les navigateurs', @@ -755,10 +755,10 @@ return array( 'There is no plugin loaded.' => 'Il n\'y a aucune extension chargée.', 'My notifications' => 'Mes notifications', 'Custom filters' => 'Filtres personnalisés', - 'Your custom filter have been created successfully.' => 'Votre filter personnalisé a été créé avec succès.', - 'Unable to create your custom filter.' => 'Impossible de créer votre filter personnalisé.', + 'Your custom filter have been created successfully.' => 'Votre filtre personnalisé a été créé avec succès.', + 'Unable to create your custom filter.' => 'Impossible de créer votre filtre personnalisé.', 'Custom filter removed successfully.' => 'Filtre personnalisé supprimé avec succès.', - 'Unable to remove this custom filter.' => 'Impossible de supprimer ce filter personnalisé.', + 'Unable to remove this custom filter.' => 'Impossible de supprimer ce filtre personnalisé.', 'Edit custom filter' => 'Modification d\'un filtre personnalisé', 'Your custom filter have been updated successfully.' => 'Votre filtre personnalisé a été mis à jour avec succès.', 'Unable to update custom filter.' => 'Impossible de mettre à jour votre filtre personnalisé.', @@ -800,10 +800,10 @@ return array( 'Tab' => 'Tabulation', 'Vertical bar' => 'Barre verticale', 'Double Quote' => 'Guillemet double', - 'Single Quote' => 'Guillement simple', + 'Single Quote' => 'Guillemet simple', '%s attached a file to the task #%d' => '%s a attaché un fichier sur la tâche n°%d', 'There is no column or swimlane activated in your project!' => 'Il n\'y a aucune colonne ou swimlane dans votre projet !', - 'Append filter (instead of replacement)' => 'Ajouter le filtre au lieu de le remplaçer', + 'Append filter (instead of replacement)' => 'Ajouter le filtre au lieu de le remplacer', 'Append/Replace' => 'Ajouter/Remplacer', 'Append' => 'Ajouter', 'Replace' => 'Remplacer', @@ -834,7 +834,7 @@ return array( 'Members of %s' => 'Membres de %s', 'New group' => 'Nouveau groupe', 'Group created successfully.' => 'Groupe créé avec succès.', - 'Unable to create your group.' => 'Impossible de créé votre groupe.', + 'Unable to create your group.' => 'Impossible de créer votre groupe.', 'Edit group' => 'Modifier le groupe', 'Group updated successfully.' => 'Groupe mis à jour avec succès.', 'Unable to update your group.' => 'Impossible de mettre à jour votre groupe.', @@ -866,7 +866,7 @@ return array( 'Allowed Users' => 'Utilisateurs autorisés', 'No user have been allowed specifically.' => 'Aucun utilisateur a été autorisé spécifiquement.', 'Role' => 'Rôle', - 'Enter user name...' => 'Entrez le nom de l\'utilisateur...', + 'Enter user name...' => 'Entrez le nom de l\'utilisateur…', 'Allowed Groups' => 'Groupes autorisés', 'No group have been allowed specifically.' => 'Aucun groupe a été autorisé spécifiquement.', 'Group' => 'Groupe', @@ -983,7 +983,7 @@ return array( 'User disabled successfully.' => 'Utilisateur désactivé avec succès.', 'Unable to disable this user.' => 'Impossible de désactiver cet utilisateur.', 'All files have been uploaded successfully.' => 'Tous les fichiers ont été envoyés avec succès.', - 'The maximum allowed file size is %sB.' => 'La taille maximale autorisée pour les fichiers est de %so.', + 'The maximum allowed file size is %sB.' => 'La taille maximale autorisée pour les fichiers est de %s o.', 'Drag and drop your files here' => 'Glissez-déposez vos fichiers ici', 'choose files' => 'choisissez des fichiers', 'View profile' => 'Voir le profil', @@ -1012,7 +1012,7 @@ return array( 'Change subtask position' => 'Changer la position de la sous-tâche', 'This value must be greater than %d' => 'Cette valeur doit être plus grande que %d', 'Another swimlane with the same name exists in the project' => 'Une autre swimlane existe avec le même nom dans le projet', - 'Example: http://example.kanboard.net/ (used to generate absolute URLs)' => 'Exemple : http://exemple.kanboard.net/ (utilisé pour générer les URLs absolues)', + 'Example: http://example.kanboard.net/ (used to generate absolute URLs)' => 'Exemple : http://exemple.kanboard.net/ (utilisé pour générer les URL absolues)', 'Actions duplicated successfully.' => 'Actions dupliquées avec succès.', 'Unable to duplicate actions.' => 'Impossible de dupliquer les actions.', 'Add a new action' => 'Ajouter une nouvelle action', @@ -1037,7 +1037,7 @@ return array( 'Avatar' => 'Avatar', 'Upload my avatar image' => 'Uploader mon image d\'avatar', 'Remove my image' => 'Supprimer mon image', - 'The OAuth2 state parameter is invalid' => 'Le paramètre "state" de OAuth2 est invalide', + 'The OAuth2 state parameter is invalid' => 'Le paramètre « state » de OAuth2 est invalide', 'User not found.' => 'Utilisateur introuvable.', 'Search in activity stream' => 'Chercher dans le flux d\'activité', 'My activities' => 'Mes activités', @@ -1054,7 +1054,7 @@ return array( 'Closed tasks assigned to "%s"' => 'Tâches fermées assignées à « %s »', 'Assign automatically a color based on a priority' => 'Assigner automatiquement une couleur par rapport à une priorité', 'Overdue tasks for the project(s) "%s"' => 'Tâches en retard pour le projet(s) « %s »', - 'Upload files' => 'Uploader les fichiers', + 'Upload files' => 'Envoyer les fichiers', 'Installed Plugins' => 'Extensions installées', 'Plugin Directory' => 'Liste des extensions', 'Plugin installed successfully.' => 'Extension installée avec succès.', @@ -1070,7 +1070,7 @@ return array( 'Unable to open plugin archive.' => 'Impossible d\'ouvrir l\'archive du plugin.', 'There is no file in the plugin archive.' => 'Il n\'y a aucun fichier dans l\'archive du plugin.', 'Create tasks in bulk' => 'Créer plusieurs tâches en même temps', - 'Your Kanboard instance is not configured to install plugins from the user interface.' => 'Votre instance de Kanboard n\'est pas configurée pour installer des extension depuis l\'interface utilisateur.', + 'Your Kanboard instance is not configured to install plugins from the user interface.' => 'Votre instance de Kanboard n\'est pas configurée pour installer des extensions depuis l\'interface utilisateur.', 'There is no plugin available.' => 'Il n\'a aucune extension disponible.', 'Install' => 'Installer', 'Update' => 'Mettre à jour', @@ -1137,15 +1137,15 @@ return array( 'Subtasks overview for %s' => 'Aperçu des sous-tâches pour %s', 'Projects overview for %s' => 'Aperçu des projets pour %s', 'Activity stream for %s' => 'Flux d\'activité pour %s', - 'Assign a color when the task is moved to a specific swimlane' => 'Assigner une couleur lorsque une tâche est déplaçée dans une swimlane spécifique', - 'Assign a priority when the task is moved to a specific swimlane' => 'Assigner une priorité lorsque une tâche est déplaçée dans une swimlane spécifique', + 'Assign a color when the task is moved to a specific swimlane' => 'Assigner une couleur lorsque une tâche est déplacée dans une swimlane spécifique', + 'Assign a priority when the task is moved to a specific swimlane' => 'Assigner une priorité lorsque une tâche est déplacée dans une swimlane spécifique', 'User unlocked successfully.' => 'Utilisateur débloqué avec succès.', 'Unable to unlock the user.' => 'Impossible de débloquer cet utilisateur.', - 'Move a task to another swimlane' => 'Déplaçer une tâche dans une autre swimlane', + 'Move a task to another swimlane' => 'Déplacer une tâche dans une autre swimlane', 'Creator Name' => 'Nom du créateur', 'Time spent and estimated' => 'Temps passé et estimé', 'Move position' => 'Changer la position', - 'Move task to another position on the board' => 'Déplaçer la tâche vers une autre position sur le tableau', + 'Move task to another position on the board' => 'Déplacer la tâche vers une autre position sur le tableau', 'Insert before this task' => 'Insérer avant cette tâche', 'Insert after this task' => 'Insérer après cette tâche', 'Unlock this user' => 'Débloquer cet utilisateur', @@ -1192,7 +1192,7 @@ return array( 'New custom project role' => 'Nouveau rôle de projet personnalisé', 'Edit custom project role' => 'Modifier un rôle de projet personnalisé', 'Remove a custom role' => 'Supprimer un rôle personnalisé', - 'Do you really want to remove this custom role: "%s"? All people assigned to this role will become project member.' => 'Voulez-vous vraiment supprimer ce rôle personnalisé « %s » ? Tous les gens assignés à ce rôle deviendrons membre du projet.', + 'Do you really want to remove this custom role: "%s"? All people assigned to this role will become project member.' => 'Voulez-vous vraiment supprimer ce rôle personnalisé « %s » ? Tous les gens assignés à ce rôle deviendront membre du projet.', 'There is no custom role for this project.' => 'Il n\'y a aucun rôle personnalisé pour ce projet.', 'New project restriction for the role "%s"' => 'Nouvelle restriction de projet pour le rôle « %s »', 'Restriction' => 'Restriction', @@ -1263,8 +1263,8 @@ return array( 'Open this project' => 'Ouvrir ce projet', 'Close a project' => 'Fermer un projet', 'Do you really want to close this project: "%s"?' => 'Voulez-vous vraiment fermer ce projet : « %s » ?', - 'Reopen a project' => 'Réouvrir un projet', - 'Do you really want to reopen this project: "%s"?' => 'Voulez-vous vraiment réouvrir ce projet : « %s » ?', + 'Reopen a project' => 'Rouvrir un projet', + 'Do you really want to reopen this project: "%s"?' => 'Voulez-vous vraiment rouvrir ce projet : « %s » ?', 'This project is open' => 'Ce projet est actif', 'This project is closed' => 'Ce projet est fermé', 'Unable to upload files, check the permissions of your data folder.' => 'Impossible de transférer le ou les fichiers, vérifiez les permissions du répertoire de données.', @@ -1279,7 +1279,7 @@ return array( 'Create and send a comment by email' => 'Créer et envoyer un commentaire par email', 'Subject' => 'Sujet', 'Upload the database' => 'Téléverser la base de données', - 'You could upload the previously downloaded Sqlite database (Gzip format).' => 'Vous pouvez téléverser la base de données Sqlite précédemment téléchargée au format Gzip.', + 'You could upload the previously downloaded Sqlite database (Gzip format).' => 'Vous pouvez téléverser la base de données SQLite précédemment téléchargée au format Gzip.', 'Database file' => 'Fichier de la base de données', 'Upload' => 'Téléverser', 'Your project must have at least one active swimlane.' => 'Votre projet doit avoir au moins une swimlane active.', @@ -1319,7 +1319,7 @@ return array( '%d notifications' => '%d notifications', '%d notification' => '%d notification', 'There is no external integration installed.' => 'Il n\'y a aucune intégration externe installée.', - 'You are not allowed to update tasks assigned to someone else.' => 'Vous n\'êtes pas autorisé à mettre à jour une tâche assigné à quelqu\'un d\'autre.', + 'You are not allowed to update tasks assigned to someone else.' => 'Vous n\'êtes pas autorisé à mettre à jour une tâche assignée à quelqu\'un d\'autre.', 'You are not allowed to change the assignee.' => 'Vous n\'êtes pas autorisé à changer l\'assigné', 'Task suppression is not permitted' => 'La suppression des tâches n\'est pas autorisée', 'Changing assignee is not permitted' => 'Changement d\'assigné non autorisé', -- cgit v1.2.3