plurals
This commit is contained in:
parent
4f867b832f
commit
37cb46b0ff
|
@ -116,6 +116,11 @@ const isModalOpen = useState('modal_open', () => false)
|
||||||
const toggleModal = () => {
|
const toggleModal = () => {
|
||||||
isModalOpen.value = !isModalOpen.value
|
isModalOpen.value = !isModalOpen.value
|
||||||
}
|
}
|
||||||
|
const plurals = {
|
||||||
|
lamelle: { one: 'ламель', few: 'ламели', many: 'ламелей' },
|
||||||
|
fence: { one: 'cстолб', few: 'столба', many: 'столбов' },
|
||||||
|
section: { one: 'секция', few: 'секции', many: 'секций' },
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="container py-4">
|
<div class="container py-4">
|
||||||
|
@ -168,22 +173,24 @@ const toggleModal = () => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
|
<div class="col-span-8 prose">
|
||||||
<div class="col-span-6 prose">
|
|
||||||
<p>
|
<p>
|
||||||
Забор общей длиной {{ form_state.total_length }} м,
|
Забор общей длиной {{ form_state.total_length }}{{'\xa0'}}м,
|
||||||
{{ section_count }} секции по {{ form_state.length }} мм
|
{{ section_count }}
|
||||||
<span class="contents" v-if="form_state.extra_section">
|
<Plural :n="section_count" :forms="plurals.section" /> по
|
||||||
1 дополнительной секцией длинной {{ form_state.extra_section }} мм
|
{{ form_state.length }}{{'\xa0'}}мм<span class="contents" v-if="form_state.extra_section">
|
||||||
</span>.
|
и 1 дополнительная секция длиной {{ form_state.extra_section }}{{'\xa0'}}мм</span>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Всего {{ section_count + ~~(!!form_state.extra_section) + 1 }} столба,
|
Всего {{ section_count + ~~(!!form_state.extra_section) + 1 }}
|
||||||
{{ section_count * lamelles_count }} ламелей длинной {{ form_state.length }} мм
|
<Plural :forms="plurals.fence" :n="section_count + ~~(!!form_state.extra_section) + 1" />,
|
||||||
|
{{ section_count * lamelles_count }}
|
||||||
|
<Plural :n="section_count * lamelles_count" :forms="plurals.lamelle" />
|
||||||
|
длиной {{ form_state.length }}{{'\xa0'}}мм
|
||||||
<span class="contents" v-if="form_state.extra_section">
|
<span class="contents" v-if="form_state.extra_section">
|
||||||
и {{ ~~(!!form_state.extra_section) * lamelles_count }} ламелей длинной {{
|
и {{ ~~(!!form_state.extra_section) * lamelles_count }}
|
||||||
form_state.extra_section }} мм
|
<Plural :n="~~(!!form_state.extra_section) * lamelles_count" :forms="plurals.lamelle" /> длиной {{
|
||||||
</span>
|
form_state.extra_section }}{{'\xa0'}}мм</span>.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Все элементы окрашиваются порошковым методом: <br />
|
Все элементы окрашиваются порошковым методом: <br />
|
||||||
|
@ -191,7 +198,7 @@ const toggleModal = () => {
|
||||||
столбы: {{ getColorNameFromRal(pillar_color)?.toLowerCase() }}.
|
столбы: {{ getColorNameFromRal(pillar_color)?.toLowerCase() }}.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="prose col-span-6">
|
<div class="prose col-span-4">
|
||||||
<p v-if="form_state.extra_section" class="text-ioprim">
|
<p v-if="form_state.extra_section" class="text-ioprim">
|
||||||
Внимание! Дополнительная секция приводит к увеличению стоимости.
|
Внимание! Дополнительная секция приводит к увеличению стоимости.
|
||||||
Рекомендуем вам изменить длину забора или длину секции!
|
Рекомендуем вам изменить длину забора или длину секции!
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
const props = defineProps(['forms', 'n'])
|
||||||
|
const ruOrdinalRules = new Intl.PluralRules("ru-RU");
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
{{ props.forms[ruOrdinalRules.select(props.n)] }}
|
||||||
|
</template>
|
Loading…
Reference in New Issue