mirror of
https://github.com/Spythere/pojazdownik.git
synced 2026-05-04 03:58:11 +00:00
tłumaczenia; fix losowania generatora numeru
This commit is contained in:
@@ -6,6 +6,13 @@
|
|||||||
|
|
||||||
<div class="tab_content">
|
<div class="tab_content">
|
||||||
<div class="options">
|
<div class="options">
|
||||||
|
<select v-model="chosenCategory" @change="randomizeTrainNumber()">
|
||||||
|
<option :value="null" disabled>{{ $t('numgen.train-category') }}</option>
|
||||||
|
<option v-for="(_, category) in genData.categories" :value="category">
|
||||||
|
{{ $t(`numgen.categories.${category}`) }}
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
<select v-model="beginRegionName" @change="randomizeTrainNumber()">
|
<select v-model="beginRegionName" @change="randomizeTrainNumber()">
|
||||||
<option :value="null" disabled>{{ $t('numgen.start-region') }}</option>
|
<option :value="null" disabled>{{ $t('numgen.start-region') }}</option>
|
||||||
<option v-for="(_, name) in genData.regionNumbers" :value="name">{{ name }}</option>
|
<option v-for="(_, name) in genData.regionNumbers" :value="name">{{ name }}</option>
|
||||||
@@ -15,13 +22,6 @@
|
|||||||
<option :value="null" disabled>{{ $t('numgen.end-region') }}</option>
|
<option :value="null" disabled>{{ $t('numgen.end-region') }}</option>
|
||||||
<option v-for="(_, name) in genData.regionNumbers" :value="name">{{ name }}</option>
|
<option v-for="(_, name) in genData.regionNumbers" :value="name">{{ name }}</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select v-model="categoryRules" @change="randomizeTrainNumber()">
|
|
||||||
<option :value="null" disabled>{{ $t('numgen.train-category') }}</option>
|
|
||||||
<option v-for="(rules, category) in genData.categories" :value="rules">
|
|
||||||
{{ $t(`numgen.categories.${category}`) }}
|
|
||||||
</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="generated-number" @click="copyNumber">
|
<div class="generated-number" @click="copyNumber">
|
||||||
@@ -31,6 +31,23 @@
|
|||||||
<span v-else>{{ $t('numgen.warning') }}</span>
|
<span v-else>{{ $t('numgen.warning') }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- <div v-if="chosenCategory">
|
||||||
|
Current numbering rules: {{ $t(`numgen.rules.${chosenCategory}`) }};
|
||||||
|
|
||||||
|
<span v-if="beginRegionName && endRegionName">
|
||||||
|
<span v-if="beginRegionName == endRegionName">
|
||||||
|
pierwsze dwie cyfry:
|
||||||
|
{{ genData.sameRegions[beginRegionName].join(', ') }}
|
||||||
|
(numer w obrębie obszaru {{ beginRegionName }})
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span v-else>
|
||||||
|
pierwsza cyfra: {{ genData.regionNumbers[beginRegionName] }}; druga cyfra:
|
||||||
|
{{ genData.regionNumbers[endRegionName] }}
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
<div class="tab_links">
|
<div class="tab_links">
|
||||||
<a :href="$t('numgen.td2-wiki-link')" target="_blank">
|
<a :href="$t('numgen.td2-wiki-link')" target="_blank">
|
||||||
{{ $t('numgen.td2-wiki') }}
|
{{ $t('numgen.td2-wiki') }}
|
||||||
@@ -55,10 +72,11 @@ import genData from '../../constants/numberGeneratorData.json';
|
|||||||
|
|
||||||
const i18n = useI18n();
|
const i18n = useI18n();
|
||||||
type RegionName = keyof typeof genData.regionNumbers;
|
type RegionName = keyof typeof genData.regionNumbers;
|
||||||
|
type Category = keyof typeof genData.categories;
|
||||||
|
|
||||||
const beginRegionName = ref(null) as Ref<RegionName | null>;
|
const beginRegionName = ref(null) as Ref<RegionName | null>;
|
||||||
const endRegionName = ref(null) as Ref<RegionName | null>;
|
const endRegionName = ref(null) as Ref<RegionName | null>;
|
||||||
const categoryRules = ref(null) as Ref<string | null>;
|
const chosenCategory = ref(null) as Ref<Category | null>;
|
||||||
|
|
||||||
const trainNumber = ref(null) as Ref<string | null>;
|
const trainNumber = ref(null) as Ref<string | null>;
|
||||||
|
|
||||||
@@ -70,7 +88,7 @@ const copyNumber = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const randomizeTrainNumber = (randomizeRegions = false) => {
|
const randomizeTrainNumber = (randomizeRegions = false) => {
|
||||||
if (categoryRules.value == null) return;
|
// if (categoryRules.value == null) return;
|
||||||
|
|
||||||
const regionKeys = Object.keys(genData.regionNumbers);
|
const regionKeys = Object.keys(genData.regionNumbers);
|
||||||
|
|
||||||
@@ -93,13 +111,15 @@ const randomizeTrainNumber = (randomizeRegions = false) => {
|
|||||||
number += `${beginRegionNumber}${endRegionNumber}`;
|
number += `${beginRegionNumber}${endRegionNumber}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do not roll the rest of number again if only randomize regions
|
// Do not roll the rest of number again if only randomize regions and category rules are already selected
|
||||||
if (randomizeRegions) {
|
if (randomizeRegions && chosenCategory.value != null) {
|
||||||
trainNumber.value = number + trainNumber.value?.substring(2);
|
trainNumber.value = number + trainNumber.value?.substring(2);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const rulesArray = categoryRules.value.split(';').map((r) => ({
|
if (chosenCategory.value == null) chosenCategory.value = 'EI';
|
||||||
|
|
||||||
|
const rulesArray = genData.categories[chosenCategory.value].split(';').map((r) => ({
|
||||||
index: r.split(':')[0],
|
index: r.split(':')[0],
|
||||||
rule: r.split(':')[1],
|
rule: r.split(':')[1],
|
||||||
nums: Number(r.split(':')[2] || '1'),
|
nums: Number(r.split(':')[2] || '1'),
|
||||||
@@ -126,12 +146,12 @@ const randomizeTrainNumber = (randomizeRegions = false) => {
|
|||||||
@import '../../styles/global.scss';
|
@import '../../styles/global.scss';
|
||||||
|
|
||||||
.options {
|
.options {
|
||||||
display: flex;
|
display: grid;
|
||||||
flex-wrap: wrap;
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
||||||
gap: 0.5em;
|
gap: 0.5em;
|
||||||
|
|
||||||
select {
|
select {
|
||||||
width: calc(50% - 0.5em);
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+10
-1
@@ -96,7 +96,7 @@
|
|||||||
"end-region": "Terminating construction region",
|
"end-region": "Terminating construction region",
|
||||||
"train-category": "Train category",
|
"train-category": "Train category",
|
||||||
"number-info": "Generated train number:",
|
"number-info": "Generated train number:",
|
||||||
"warning": "Choose category and construction regions (optionally)",
|
"warning": "Choose category and (optionally) construction regions",
|
||||||
"td2-wiki": "> Polish rules of train numbering (TD2 wiki)",
|
"td2-wiki": "> Polish rules of train numbering (TD2 wiki)",
|
||||||
"td2-wiki-link": "https://wiki.td2.info.pl/index.php?title=Zasady_numeracji_poci%C4%85g%C3%B3w/en",
|
"td2-wiki-link": "https://wiki.td2.info.pl/index.php?title=Zasady_numeracji_poci%C4%85g%C3%B3w/en",
|
||||||
"action-random-region": "DRAW REGIONS",
|
"action-random-region": "DRAW REGIONS",
|
||||||
@@ -109,6 +109,15 @@
|
|||||||
"TM": "mass transport freight (TM)",
|
"TM": "mass transport freight (TM)",
|
||||||
"TK": "non-mass transport freight (TK)",
|
"TK": "non-mass transport freight (TK)",
|
||||||
"LT": "locomotive alone (LT)"
|
"LT": "locomotive alone (LT)"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"EI": "4 digits - ends within the range of 00-99",
|
||||||
|
"MP/RP": "5 digits - ends within the range of 050-169",
|
||||||
|
"RO": "5 digits - ends within the range of 200-999",
|
||||||
|
"PW": "6 digits - '6' on the 3rd place; ends within the range of 000-899",
|
||||||
|
"TM": "6 digits - '4' on the 3rd place; ends within the range of 000-899",
|
||||||
|
"TK": "6 digits - '3' on the 3rd place; ends within the range of 000-899",
|
||||||
|
"LT": "6 digits - '5' on the 3rd place; ends within the range of 000-899"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"wiki": {
|
"wiki": {
|
||||||
|
|||||||
+10
-1
@@ -96,7 +96,7 @@
|
|||||||
"end-region": "Końcowy obszar konstrukcyjny",
|
"end-region": "Końcowy obszar konstrukcyjny",
|
||||||
"train-category": "Kategoria pociągu",
|
"train-category": "Kategoria pociągu",
|
||||||
"number-info": "Wygenerowany numer pociągu:",
|
"number-info": "Wygenerowany numer pociągu:",
|
||||||
"warning": "Wybierz kategorię oraz obszary konstrukcyjne (opcjonalnie)",
|
"warning": "Wybierz kategorię oraz (opcjonalnie) obszary konstrukcyjne",
|
||||||
"td2-wiki": "> Szczegółowe zasady numeracji (wikipedia TD2)",
|
"td2-wiki": "> Szczegółowe zasady numeracji (wikipedia TD2)",
|
||||||
"td2-wiki-link": "https://wiki.td2.info.pl/index.php?title=Zasady_numeracji_poci%C4%85g%C3%B3w",
|
"td2-wiki-link": "https://wiki.td2.info.pl/index.php?title=Zasady_numeracji_poci%C4%85g%C3%B3w",
|
||||||
"action-random-region": "LOSUJ OBSZARY",
|
"action-random-region": "LOSUJ OBSZARY",
|
||||||
@@ -109,6 +109,15 @@
|
|||||||
"TM": "towarowy do przewozów masowych (TM)",
|
"TM": "towarowy do przewozów masowych (TM)",
|
||||||
"TK": "towarowy do obsługi stacji (TK)",
|
"TK": "towarowy do obsługi stacji (TK)",
|
||||||
"LT": "lokomotywa luzem (LT)"
|
"LT": "lokomotywa luzem (LT)"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"EI": "4 cyfry - końcówka z przedziału 00-99",
|
||||||
|
"MP/RP": "5 cyfr - końcówka z przedziału 050-169",
|
||||||
|
"RO": "5 cyfr - końcówka z przedziału 200-999",
|
||||||
|
"PW": "6 cyfr - '6' na 3. miejscu; końcówka z przedziału 000-899",
|
||||||
|
"TM": "6 cyfr - '4' na 3. miejscu; końcówka z przedziału 000-899",
|
||||||
|
"TK": "6 cyfr - '3' na 3. miejscu; końcówka z przedziału 000-899",
|
||||||
|
"LT": "6 cyfr - '5' na 3. miejscu; końcówka z przedziału 000-899"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"wiki": {
|
"wiki": {
|
||||||
|
|||||||
Reference in New Issue
Block a user