У меня есть ощущение, что первое глагол здесь должно быть “are”, а не “is”. Ни один из них не выглядит идеально в текущем предложении (которое немного запутанно).
В данном случае, я думаю, вы правы. Я бы использовал «are». Но я готов простить подобные вещи в интерфейсах — я представляю, что всегда есть более срочные задачи для написания кода, чем идеальная грамматическая логика для всех возможных комбинаций.
Конечно.
Есть несколько текстов с фразой «или просмотрите». Вот один из них. Очевидно, что над ним много работали.
{ 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» означает совокупность непрочитанных и новых тем.
Ах, после нескольких минут размышлений ничего не кажется совсем правильным. Это предложение может быть ловушкой. ![]()
Опять же, такие мелочи меня не беспокоят, но если бы мне пришлось перестроить фразу, она могла бы выглядеть примерно так:
Посмотрите [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 непрочитанную тему и 4 новые темы или просмотрите другие темы в…
Или, чтобы избежать повторений:
Посмотрите 1 непрочитанную тему и 4 новые темы или просмотрите…
