def translate(segment, locale, scope)
return segment if segment.empty?
if segment.starts_with?(':'.freeze)
named_param, hyphenized = segment.split('-'.freeze, 2)
return "#{named_param}-#{translate(hyphenized, locale, scope)}" if hyphenized
end
return segment if segment.starts_with?('('.freeze) || segment.starts_with?('*'.freeze) || segment.include?(':'.freeze)
appended_part = segment.slice!(/(\()$/)
str = translatable_segment(segment)
(translate_string(str, locale, scope) || segment) + appended_part.to_s
end