Add Russian translations for mineral property values
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- Add properties_ru JSON field to store translated category, crystal_system, luster, streak, specific_gravity, color_description - Add translate_minerals management command using deep-translator (Google Translate), with a hard-coded dictionary for crystal systems - Template: show translated values in RU mode, fall back to English if missing - Add deep-translator to requirements.txt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -533,16 +533,8 @@
|
||||
<div class="color-row">
|
||||
<div class="color-swatch"></div>
|
||||
<div class="color-info">
|
||||
<span class="lang-en">
|
||||
{% if mineral.color_description %}
|
||||
{{ mineral.color_description }}
|
||||
{% else %}
|
||||
Typical color
|
||||
{% endif %}
|
||||
</span>
|
||||
{% if mineral.color_description_ru %}
|
||||
<span class="lang-ru">{{ mineral.color_description_ru }}</span>
|
||||
{% endif %}
|
||||
<span class="lang-en">{{ mineral.color_description|default:"Typical color" }}</span>
|
||||
<span class="lang-ru">{{ mineral.color_description_ru|default:mineral.properties_ru.color_description|default:mineral.color_description|default:"Типичный цвет" }}</span>
|
||||
<br><span class="hex">{{ mineral.color_hex }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -554,13 +546,19 @@
|
||||
{% if mineral.category %}
|
||||
<div class="prop-item">
|
||||
<span class="prop-label"><span class="lang-en">Category</span><span class="lang-ru">Категория</span></span>
|
||||
<span class="prop-value">{{ mineral.category }}</span>
|
||||
<span class="prop-value">
|
||||
<span class="lang-en">{{ mineral.category }}</span>
|
||||
<span class="lang-ru">{{ mineral.properties_ru.category|default:mineral.category }}</span>
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if mineral.crystal_system %}
|
||||
<div class="prop-item">
|
||||
<span class="prop-label"><span class="lang-en">Crystal System</span><span class="lang-ru">Сингония</span></span>
|
||||
<span class="prop-value">{{ mineral.crystal_system }}</span>
|
||||
<span class="prop-value">
|
||||
<span class="lang-en">{{ mineral.crystal_system }}</span>
|
||||
<span class="lang-ru">{{ mineral.properties_ru.crystal_system|default:mineral.crystal_system }}</span>
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if mineral.mohs_hardness %}
|
||||
@@ -572,19 +570,28 @@
|
||||
{% if mineral.luster %}
|
||||
<div class="prop-item">
|
||||
<span class="prop-label"><span class="lang-en">Luster</span><span class="lang-ru">Блеск</span></span>
|
||||
<span class="prop-value">{{ mineral.luster }}</span>
|
||||
<span class="prop-value">
|
||||
<span class="lang-en">{{ mineral.luster }}</span>
|
||||
<span class="lang-ru">{{ mineral.properties_ru.luster|default:mineral.luster }}</span>
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if mineral.streak %}
|
||||
<div class="prop-item">
|
||||
<span class="prop-label"><span class="lang-en">Streak</span><span class="lang-ru">Черта</span></span>
|
||||
<span class="prop-value">{{ mineral.streak }}</span>
|
||||
<span class="prop-value">
|
||||
<span class="lang-en">{{ mineral.streak }}</span>
|
||||
<span class="lang-ru">{{ mineral.properties_ru.streak|default:mineral.streak }}</span>
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if mineral.specific_gravity %}
|
||||
<div class="prop-item">
|
||||
<span class="prop-label"><span class="lang-en">Specific Gravity</span><span class="lang-ru">Плотность</span></span>
|
||||
<span class="prop-value">{{ mineral.specific_gravity }}</span>
|
||||
<span class="prop-value">
|
||||
<span class="lang-en">{{ mineral.specific_gravity }}</span>
|
||||
<span class="lang-ru">{{ mineral.properties_ru.specific_gravity|default:mineral.specific_gravity }}</span>
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user