diff --git a/config/locales/en.yml b/config/locales/en.yml
index 6ebe23d46..f75f51542 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1193,6 +1193,7 @@ en:
   label_enable_default_issue_due_date_offset: Enable default due date for new issues
   setting_default_issue_due_date_offset: Default due date for new issues
   label_days_relative_to_today: days relative to today
+  hours_field_placeholder: h:mm
 
   webhook_event_created: "%{object_name} created"
   webhook_event_updated: "%{object_name} updated"
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index 88518a4b8..6a59fd740 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -1624,3 +1624,4 @@ ru:
   error_issue_status_in_use_by_issues: This status is used by some issues
   error_issue_status_default_for_trackers: This status is used as the default status by some trackers
   text_users_remove_from_group_confirmation: Are you sure you want to remove the selected user(s) from the group %{group}?
+  hours_field_placeholder: ч:мм
diff --git a/lib/redmine/views/labelled_form_builder.rb b/lib/redmine/views/labelled_form_builder.rb
index 2b9c2b510..84945f404 100644
--- a/lib/redmine/views/labelled_form_builder.rb
+++ b/lib/redmine/views/labelled_form_builder.rb
@@ -51,7 +51,7 @@ class Redmine::Views::LabelledFormBuilder < ActionView::Helpers::FormBuilder
     # display the value before type cast when the entered value is not valid
     if @object.errors[field].blank?
       options = options.merge(:value => format_hours(@object.send field))
-                       .with_defaults(:placeholder => 'h:mm')
+                       .with_defaults(:placeholder => l(:hours_field_placeholder))
     end
     text_field field, options
   end
