{{ page_header(_('Settings'), _('Configure application settings')) }}

{{ _("Language") }}

{{ _("Controls the language used by Yaffo. The page reloads after saving.") }}

{{ _("Units") }}

{{ _("Used for distance filters and automation settings.") }}

{{ _("Media Directories") }}

{{ _("Add directories where your photos are stored. Yaffo scans these directories for photos and videos to index.") }}

{% if library_update_in_progress %}

{{ _("Media and thumbnail directories cannot be changed while importing or indexing is in progress.") }}

{% endif %}
{% if media_dirs|length > 0 %} {% for dir in media_dirs %}
{{ dir.path }}
{% endfor %} {% else %}

{{ _("No media directories configured") }}

{% endif %}
{{ file_browser( 'new-media-dir', placeholder=_('Enter directory path (for example, /Volumes/Photos or C:\\Photos)'), show_label=False ) }}

{{ _("Thumbnail Directory") }}

{{ _("Configure where cropped thumbnails of detected faces are stored for quick loading.") }}

{% if library_update_in_progress %}

{{ _("Media and thumbnail directories cannot be changed while importing or indexing is in progress.") }}

{% endif %} {% if current_thumbnail_dir and current_thumbnail_dir != "None" %}
{{ current_thumbnail_dir }}
{{ _("Files:") }} … {{ _("Total Size:") }} {{ _("Counting…") }}
{{ file_browser( 'new-thumbnail-dir', placeholder=_('Enter new thumbnail directory path'), show_label=False ) }}
{% else %}

{{ _("No thumbnail directory configured. Set a directory to enable face thumbnail generation.") }}

{{ file_browser( 'new-thumbnail-dir', placeholder=_('Enter thumbnail directory path'), show_label=False ) }}
{% endif %}
{% include "settings/_llm.html" %} {% include "settings/_labels.html" %}

{{ _("System Information") }}

{{ _("Build details and configured paths (read-only).") }}

{{ build_info.version }}

{{ _("The version of Yaffo currently running.") }}

{{ build_info.build_time or _("development build") }}

{{ _("When this build was produced.") }}

{{ db_path }}

{{ _("Location of the SQLite database containing photo metadata, faces, and people information.") }}

{{ queue_db_path }}

{{ _("Database used by the background task queue to process jobs.") }}

{{ exiftool_path or _("not found") }}

{{ _("ExifTool executable used for reading and writing media metadata.") }}

{{ classification_model.path }} {% if classification_model.source == "bundled" %}

{{ _("Bundled with this app.") }}

{% elif classification_model.source == "downloaded" %}

{{ _("Downloaded model cache used for image classification.") }}

{% else %}

{{ _("Will be downloaded on first image-classification run.") }}

{% endif %}
{{ face_model.path }} {% if face_model.source == "bundled" %}

{{ _("Bundled with this app.") }}

{% elif face_model.source == "downloaded" %}

{{ _("Downloaded model cache used for face recognition.") }}

{% else %}

{{ _("Will be downloaded on first face-recognition run.") }}

{% endif %}