Поиск сообщества
Показаны результаты для тегов 'фраза'.
Найдено: 2 результата
-
Многие фразы в Invision Community являются зависимыми от числа, то есть плюрализационными. Например: 21 ответ, 2 ответа, 12 ответов; У вас 1 новое уведомления, 2 новых уведомления и так далее. В английском языке множественное число, как правило, имеет окончание 's'. В других языках, например в русском, правила сложнее и требуют определённый формат в зависимости от конкретного числа. Чтобы учесть эти нюансы, Invision Community использует специальный синтаксис для фраз, которые используют плюрализацию. Языковая система передаёт значение, используемое в фразе, и специальный синтаксис может использовать это значение для определения слов для отображения. Синтаксис Синтаксис для фраз с плюрализацией выглядит так: {# [1:ответ][?:ответов]} Этот синтаксис открывает множество возможностей, но это основное его использование. Он состоит из определений, которые применяются в зависимости от переданного в фразу числа. Давайте разберёмся подробнее. {...} Плюрализация всегда должна быть заключена в фигурные скобки чтобы система распознала её. Обратите внимание, что плюрализация может существовать внутри другой фразы, если остальная часть фразы не зависит от числа. Например: "У вас {# [1:новое уведомление][?:новых уведомлений]}" # Следующий символ это хэш/решётка. Когда он появляется в начале замены, он заменяется на актуальное переданное в замену число. С другой стороны, если указать !#, то число не будет отображено. {# [1:ответ][?:ответов]} {!# [1:ответ][?:ответов]} будет выглядеть так: 10 ответов ответов [x:ответов] Следующий блок является вариантом замены, которых может быть несколько. Они заключены в фигурные скобки и вы можете иметь их столько, сколько необходимо для вашего языка. Блок начинается с x:, где x - число, указывающее, что замена используется, когда переданное во фразу число равно x. Если ваш язык требует другую форму плюрализации для определённых чисел, вы можете повторить каждый необходимый блок. Существует три специальных символа, которые вы можете использовать для 'x': *1: Соответствует всем числам, заканчивающимся на единицу, например 1, 11, 21, 251. %1: Соответствует всем числам, начинающимся с единицы, например 1, 10, 12, 163. ?: Соответствует всем другим значениям, которые не соответствуют другим блокам. После двоеточия : строковое значение, используемое при совпадении с боком. Обратите внимание, что значения в этих блоках могут использовать специальный символ #, который, как было описано выше, заменяется на переданное значение в фразу. Это полезно, когда фраза в некоторых случаях не должна отображать цифру. Например: "Каждый {!#[1:год][?:# лет]}" Мы не говорим "каждый 1 год", правильно говорить "каждый год". В первой замене мы убрали число с помощью восклицательного знака.
-
- plural
- плюрализация
-
(и ещё 3 )
C тегом:
-
Некоторые фразы имеют значения, передаваемые в них системой, вы должны знать их и использовать в своём переводе в неизменном виде. Вот несколько типов замен, которые вы увидите: %s Простая строковая замена. {internal.app=core&module=system&controller=register} Замена URL адреса {# [1:reply][?:replies]} Плюрализационная замена. Мы рассмотри плюрализационную замену более подробно в данной статье - . Строковая замена Простые строковые замены используют формат, определяемый PHP функцией sprintf. В этом формате специальный маркер %s заменяется значением, передаваемым во фразу: Меня зовут %s При отображении будет: Меня зовут Кирилл В некоторые фразы передаётся несколько значений, которые заменяются в порядке свей очерёдности. Например, если значения "Кирилл" и "синий" передаются во фразу, они будут расположены в таком порядке в языковой фразе: Меня зовут %s и мой любимый цвет %s Станет таким при отображении: Меня зовут Кирилл и мой любимый цвет синий Однако, поскольку порядок переданных значений определяется PHP кодом и не может быть изменён автором перевода, существует специальный синтаксис, позволяющий изменить порядок любого из значений (это может быть необходимо для других языков, у которых структура предложения отличается от структуры в английском языке). Для изменения порядка замен, маркер %s должен быть изменён на %2$s - по сути вставка 2$ в середину обычного маркера, где 2 - это позиция параметра, который вы хотите использовать для замены. Для понимая описанного мы изменим порядок: Мой любимый цвет %2$s и меня зовут %1$s который будет выглядеть так: Мой любимый цвет синий и меня зовут Кирилл Для получения дополнительной информации обратитесь к документации PHP.net sprintf (имейте ввиду, что этот документ носит технический характер и предназначен только для разработчиков). Замена URL адреса В некоторых случаях в языковых фразах должны быть построены ссылки. Языковая система Invision Community поддерживает эту возможность с помощью специальных тегов, например: {internal.app=core&module=system&controller=register} В этом примере internal. подразумевает собой ссылку на внутреннюю страницу (то есть страницу IPS4), с URL адресом на определённую страницу. Соответственно могут быть определены внешние ссылки, например: {external.ad-custom-location} В этом случае ad-custom-location это предустановленный внешний URL адрес в IPS4. При выполнении перевода не забудьте включить эти ссылки, найденные в оригинальном языке, т.к. они часто несёт за собой полезную информацию.