Осталось 1 непрочитанная и 4 новых темы, или просмотрите другие темы в ...

У меня есть ощущение, что первое глагол здесь должно быть “are”, а не “is”. Ни один из них не выглядит идеально в текущем предложении (которое немного запутанно).

2 лайка

В данном случае, я думаю, вы правы. Я бы использовал «are». Но я готов простить подобные вещи в интерфейсах — я представляю, что всегда есть более срочные задачи для написания кода, чем идеальная грамматическая логика для всех возможных комбинаций.

1 лайк

Конечно.

Есть несколько текстов с фразой «или просмотрите». Вот один из них. Очевидно, что над ним много работали.

{ HAS_UNREAD_AND_NEW, select,
  true {
    { UNREAD, plural,
         =0 {}
        one {Осталось <a href="{basePath}/u/{username}/messages/unread"># непрочитанное</a>}
      other {Осталось <a href="{basePath}/u/{username}/messages/unread"># непрочитанных</a>}
    }
    { NEW, plural,
         =0 {}
        one { и <a href="{basePath}/u/{username}/messages/new"># новое</a> сообщение, или просмотрите другие <a href="{basePath}/u/{username}/messages">личные сообщения</a>}
      other { и <a href="{basePath}/u/{username}/messages/new"># новых</a> сообщений, или просмотрите другие <a href="{basePath}/u/{username}/messages">личные сообщения</a>}
    }
  }
  false {
    { UNREAD, plural,
         =0 {}
        one {Осталось <a href="{basePath}/u/{username}/messages/unread"># непрочитанное</a> сообщение, или просмотрите другие <a href="{basePath}/u/{username}/messages">личные сообщения</a>}
      other {Осталось <a href="{basePath}/u/{username}/messages/unread"># непрочитанных</a> сообщений, или просмотрите другие <a href="{basePath}/u/{username}/messages">личные сообщения</a>}
    }
    { NEW, plural,
         =0 {}
        one {Осталось <a href="{basePath}/u/{username}/messages/new"># новое</a> сообщение, или просмотрите другие <a href="{basePath}/u/{username}/messages">личные сообщения</a>}
      other {Осталось <a href="{basePath}/u/{username}/messages/new"># новых</a> сообщений, или просмотрите другие <a href="{basePath}/u/{username}/messages">личные сообщения</a>}
    }
  }
  other {}
}

Я думаю, это не тот текст, о котором вы упоминали в первом посте. Тот, что касается тем:

{ HAS_UNREAD_AND_NEW, select,
  true {
    { UNREAD, plural,
         =0 {}
        one {Есть <a href="{basePath}/unread"># непрочитанное</a>}
      other {Есть <a href="{basePath}/unread"># непрочитанных</a>}
    }
    { NEW, plural,
         =0 {}
        one { и <a href="{basePath}/new"># новая</a> тема осталась,}
      other { и <a href="{basePath}/new"># новых</a> тем осталось,}
    }
  }
  false {
    { UNREAD, plural,
         =0 {}
        one {Осталась <a href="{basePath}/unread"># непрочитанная</a> тема,}
      other {Осталось <a href="{basePath}/unread"># непрочитанных</a> тем,}
    }
    { NEW, plural,
         =0 {}
        one {Осталась <a href="{basePath}/new"># новая</a> тема,}
      other {Осталось <a href="{basePath}/new"># новых</a> тем,}
    }
  }
  other {}
}
{ HAS_CATEGORY, select,
  true { или просмотрите другие темы в {categoryLink}}
  false { или <a href="{basePath}/latest">посмотрите последние темы</a>}
  other {}
}

Эта строка использует формат сообщений ICU. См. Message Format support for localization для руководящих принципов перевода.
Оба значения UNREAD и NEW больше 0, когда HAS_UNREAD_AND_NEW равно true.
Либо UNREAD, либо NEW больше 0, когда HAS_UNREAD_AND_NEW равно false.

Если я правильно понял комментарий, первое слово is нужно заменить на are, так как это текст для 1 непрочитанной и как минимум 1 новой темы. Если это изменить, вы увидите: “Осталось 1 непрочитанное и 1 новая тема,”
В то время как “Осталась 1 новая тема,” и “Осталась 1 непрочитанная тема,” всё ещё используют “Осталась”.

Если я прав, вы можете исправить это на своём форуме, изменив первое слово is в js.topic.read_more_MF на are. Тогда мы сможем попробовать то же самое для сообщений и создать pull request, чтобы исправить это для всех форумов.

Я не осознавал, что “, или просмотр” не сработает с нужным сообщением — я был на телефоне, и в Discourse около 20 строк текста отображаются в однострочном поле, поэтому я не проверил как следует, когда вставил это в тему здесь. Я также не думаю, что ваше предложенное исправление звучит хорошо. Вероятно, лучше перестроить предложение, так как вся фраза сформулирована неудачно.

Я не добавил эту часть, потому что считал, что она не имеет значения, если говорится «или просмотрите другие темы в category» или «или просмотрите последние темы» при выборе слова is в начале. Построить эту часть текста было уже достаточно сложно.

Но тогда нужно согласовать множественное число: «there are… topics remaining»… кажется?

Погодите, нет. Тогда мы наткнёмся на фразу «1 new topics» — даже если «topics» означает совокупность непрочитанных и новых тем.

Ах, после нескольких минут размышлений ничего не кажется совсем правильным. Это предложение может быть ловушкой. :sweat_smile:

Опять же, такие мелочи меня не беспокоят, но если бы мне пришлось перестроить фразу, она могла бы выглядеть примерно так:

Посмотрите [xx] непрочитанн(ы)х топик(а), [xx] новых топик(а) или ознакомьтесь с другими темами в…

Я не думаю, что это будет легко перевести на все языки. А как насчёт языков с множественными формами множественного числа?

А как насчёт «Осталась 1 непрочитанная тема и 1 новая тема»?"

В немецком переводе используется что-то похожее: «1 непрочитанную тему и 1 новую тему осталось."

Crowdin очень полезен для тестирования таких строк, так как можно выбрать параметры и увидеть предварительный просмотр текста. Например:


Текст можно найти здесь: Crowdin

Ах, это действительно упрощает эту часть. Варианты становятся очевидными:

is

  • Осталась 1 непрочитанная тема
  • Осталась 1 новая тема

are

  • Осталось 3 непрочитанные темы
  • Осталось 3 новые темы
  • Осталось [xx] непрочитанн[ых] тем[ы] и [xx] нов[ых] тем[ы]

Здесь подразумевается «для вас, чтобы прочитать»… но когда добавляется часть «или просмотреть», строго говоря, это звучит неестественно: *«[Фактическое утверждение], или [действие, которое вы можете выполнить]».

Поэтому я пытался приблизиться к набору действий: «Теперь вы можете x или y».

Хм. Если заменить «There is/are» на «Посмотрите» (& я бы убрал «осталось»), то единственное решение, которое нужно принять, касается множественного числа для темы/тем:

  • Посмотрите 1 непрочитанную тему или просмотрите…
  • Посмотрите 1 новую тему или просмотрите…
  • Посмотрите 3 непрочитанные темы или просмотрите…
  • Посмотрите 3 новые темы или просмотрите…
  • Посмотрите [xx] непрочитанн[ых] тем[ы] и [xx] нов[ых] тем[ы] или просмотрите…

(У меня нет сильных чувств по этому поводу. Мне это просто интересно. Я, наверное, странный.)

1 лайк

Это именно та перестройка, которую я имел в виду, чтобы превратить это в правильное предложение.

Вернёмся к тексту, который мне не нравился — он станет таким:

Посмотрите 1 непрочитанную тему и 4 новые темы или просмотрите другие темы в…

Или, чтобы избежать повторений:

Посмотрите 1 непрочитанную тему и 4 новые темы или просмотрите…