# Pretraživanje

<a id="search-results-cache"></a>

## Results while translating

The translation editor keeps the current search results while you translate.
For example, translating an untranslated string does not remove it from the
list, so you can navigate back to it. Reloading a page with a saved position
in its URL (`offset`) keeps this list. An initial search URL without a
position runs the search again when reloaded.

Select the Refresh results icon next to the query input or press
`Enter` in the filter field to
run the search again and start at the first matching string. This also works
in Zen mode. Changing the sort order keeps the current result list.

After 30 minutes of inactivity, the saved search results expire. Weblate
refreshes the results when you continue and displays a notice. Saving still
applies to the string you were editing, subject to the usual checks for
conflicting changes. If that string no longer matches the filters, it is kept
at the start of the refreshed list so you can return to it.
If results expire while scrolling in Zen mode, save any pending edits and
select Refresh results to continue loading strings.

## Search query syntax

Advanced searches support boolean operations, parentheses, field-specific
lookup, field operators, exact match, date values, and regular expressions.
The available fields depend on what kind of object is being searched.

<a id="search-boolean"></a>

### Booleovi operatori

You can combine lookups using `AND`, `OR`, `NOT` and parentheses to
form complex queries. Boolean operators are case-insensitive, so `and`,
`And` and `AND` are equivalent.

The `NOT` operator has higher precedence than the `AND` operator; the
`AND` operator has higher precedence than the `OR` operator. You can add
parenthesis to define a precedence of your own.

Omitting the operator will make the query behave like the `AND` operator was
used.

#### Ekvivalentni izrazi

| `(state:translated AND source:hello) OR source:bar`   | Parenthesized expression to clearly show the precedence.         |
|-------------------------------------------------------|------------------------------------------------------------------|
| `state:translated AND source:hello OR source:bar`     | The `AND` operator has higher precedence than the `OR` operator. |
| `state:translated source:hello OR source:bar`         | Query using an implicit `AND` operator.                          |

<a id="search-operators"></a>

### Operatori za polja

You can specify operators, ranges or partial lookups for date or numeric
searches:

`state:>=translated`
: State is `translated` or better (`approved`).

`changed:[2019-03-01 to 2019-04-01]`
: Changed between two given dates (inclusive).

`position:[10 to 100]`
: Izrazi s pozicijama između 10 i 100 (uključujući).

<a id="date-search"></a>

### Searching for DATETIME fields

Timestamp searching supports multiple ways to specify the value. It supports
wide range of ways to specify date and time.

* ISO 8601 formatted like `2025-09-08T12:16:55.336146+00:00`.
* English written date and time like `July 4, 2013 PST`.
* English adverbs of time like `yesterday`, `last month`, and `2 days ago`.

Whenever only the date is specified, it is always used as inclusive and covers
that date. Specify the exact timestamp if you need to override this behavior.

Primjeri:

`changed:>=2019-03-01`
: Changed on 1st March 2019 and later (inclusive).

`changed:>="2 weeks ago"`
: Changed 2 weeks ago from the current date and time.

`changed:>=yesterday`
: Promijenjeno počevši od jučer.

`changed:2019`
: Promijenjeno 2019.

`changed:[2019-03-01 to 2019-04-01]`
: Changed between two given dates (inclusive).

`changed:[20_days_ago to yesterday]`
: Changed between two relative dates (inclusive).

### Točni operatori

You can do an exact match query on different string fields using `=`
operator. For example, to search for all source strings exactly matching
`hello world`, use: `source:="hello world"`. For searching single word
expressions, you can skip quotes. For example, to search for all source strings
matching `hello`, you can use: `source:=hello`.

### Regularni izrazi

Anywhere text is accepted you can also specify a regular expression as
`r"regexp"`.

For example, to search for all source strings which contain any digit between 2
and 5, use `source:r"[2-5]"`.

#### HINT
The regular expressions are evaluated by the database backend and might use
different extensions, please consult the database documentation for
more details:

* [PostgreSQL Regular Expressions Details](https://www.postgresql.org/docs/current/functions-matching.html#POSIX-SYNTAX-DETAILS)

<a id="search-strings"></a>

## Pretraživanje izraza

String search supports the shared query syntax above.

Browsing and searching strings use the same list. Opening a scoped list without
query parameters shows all strings in that scope. The global search page shows
the search form until you submit it. Existing browse links redirect to search.

When searching a translation, a project language, or a category language, select
Translate to open the translation editor with the current query and
sorting. Project-language and category-language searches let you review matching
strings across components.

When no field is defined, the lookup happens on source, target, and context strings.

Select All strings at the top of the Filters menu to
clear the query within the current search scope. If the form does not submit
automatically, submit it to show all strings. Shared filters follow the order
and status colors used in the strings status overview.

![image](screenshots/search.webp)

### Jednostavna pretraga

Any phrase typed into the search box is split into words. Strings containing all
of them are shown. To look for an exact phrase, put „the searchphrase” into
quotes (both single (`'`) and double (`"`) quotes will work): `"this is a quoted
string"` or `'another quoted string'`.

### Polja

`source:TEXT`
: Pretraga izvornih izraza bez razlikovanja velikih i malih slova.

`target:TEXT`
: Target string case-insensitive search.

`context:TEXT`
: Context string case-insensitive search.

`key:TEXT`
: Key string case-insensitive search.

`note:TEXT`
: Pretraga opisa izvornih izraza bez razlikovanja velikih i malih slova.

`location:TEXT`
: Location string case-insensitive search.

`priority:NUMBER`
: Prioritet izraza.

`id:NUMBER`
: Jedinstveni identifikator izraza.

`position:NUMBER`
: Pozicija izraza u prevodilačkoj datoteci.

`added:DATETIME`
: Vremenska oznaka dodavanja izraza u Weblate.

`state:TEXT`
: Search for string states (`approved`, `translated`, `needs-editing`, `needs-rewriting`, `needs-checking`, `empty`, `read-only`).
  <br/>
  This field also supports [Operatori za polja](#search-operators), so searching for completed strings can be performed as `state:>=translated`, searching for strings needing translation as `state:<translated`.

`source_state:TEXT`
: Search for source string states, see above for more info.
  With a [custom source language](https://docs.weblate.org/hr/latest/workflows.md#workflow-source-language), this uses
  the parent translation’s state. Strings whose configured source is missing
  do not match a source state.

`pending:BOOLEAN`
: String pending for flushing to VCS.

`has:TEXT`
: Search for string having attributes - `plural`, `context`, `suggestion`, `comment`, `source-comment`, `check`, `dismissed-check`, `translation`, `variant`, `screenshot`, `flags`, `explanation`, `glossary`, `note`, `label`, `location`.

`is:TEXT`
: Filters string on a condition:
  <br/>
  `read-only` or `readonly`
  : Read-only strings, same as `state:read-only`.
  <br/>
  `approved`
  : Odobreni izrazi, isto kao `state:approved`.
  <br/>
  `needs-editing` or `fuzzy`
  : Needing editing/checking/rewriting strings, same as `state:needs-editing OR state:needs-rewriting OR state:needs-checking`.
  <br/>
  `translated`
  : Prevedeni izrazi, isto kao `state:>translated`.
  <br/>
  `untranslated`
  : Neprevedeni izrazi, isto kao `state:<translated`.
  <br/>
  `pending`
  : Izrazi na čekanju koji još nisu spremljeni u datoteku (pogledaj [Lazy commits](https://docs.weblate.org/hr/latest/admin/continuous.md#lazy-commit)).
  <br/>
  `automatically-translated`
  : Strings that were translated automatically (see [Automatsko prevođenje](https://docs.weblate.org/hr/latest/user/translating.md#auto-translation)).

`language:TEXT`
: String target language.

`component:TEXT`
: Component slug or name case-insensitive search, see [Identifikator komponente](https://docs.weblate.org/hr/latest/admin/projects.md#component-slug) and [Ime komponente](https://docs.weblate.org/hr/latest/admin/projects.md#component-name).

`project:TEXT`
: Project slug, see [URL identifikator](https://docs.weblate.org/hr/latest/admin/projects.md#project-slug).

`path:TEXT`
: Path to the object to limit searching inside component, category, project, or translation.

`changed_by:TEXT`
: String was changed by author with given username.
  Use `changed_by:""` to search for strings with at least one content change without a recorded author.

`changed:DATETIME`
: String content was changed on date, supports [Operatori za polja](#search-operators) and [Searching for DATETIME fields](#date-search).

`change_time:DATETIME`
: String was changed on date, supports [Operatori za polja](#search-operators) and [Searching for DATETIME fields](#date-search).
  <br/>
  Unlike `changed` this includes event which don’t change content and you
  can apply custom action filtering using `change_action`.

`change_action:TEXT`
: Filters on change action, useful together with `change_time`. Accepts
  English name of the change action, either quoted and with spaces or
  lowercase and spaces replaced by a hyphen. See [Pretraga za promjenama](#search-changes) for
  examples.
  <br/>
  When combining `changed_by`, `changed`, `change_time`, and
  `change_action` filters, the filters apply to the same change event.

`source_changed:DATETIME`
: Source string was last changed on date, supports [Operatori za polja](#search-operators) and [Searching for DATETIME fields](#date-search).

`last_changed:DATETIME`
: The string was last changed on date, supports [Operatori za polja](#search-operators) and [Searching for DATETIME fields](#date-search).

`check:TEXT`
: String has failing check, see [Checks and fixups](https://docs.weblate.org/hr/latest/user/checks.md) for check identifiers.

`dismissed_check:TEXT`
: String has dismissed check, see [Checks and fixups](https://docs.weblate.org/hr/latest/user/checks.md) for check identifiers.

`comment:TEXT`
: Search in unresolved user comments on the string.

`resolved_comment:TEXT`
: Traži u riješenim komentarima.

`comment_author:TEXT`
: Filter by comment author.

`source_comment:TEXT`
: Search in unresolved source string comments.

`resolved_source_comment:TEXT`
: Search in resolved source string comments.

`source_comment_author:TEXT`
: Filter by source string comment author.
  <br/>
  Source string comment filters match comments attached to the source string.
  When searching across languages, matching target strings sharing that source
  string can be included in the results.

`suggestion:TEXT`
: Search in suggestions.

`suggestion_author:TEXT`
: Filter by suggestion author.

`explanation:TEXT`
: Traži u objašnjenjima.

`label:TEXT`
: Traži u etiketama.

`screenshot:TEXT`
: Traži u snimkama ekrana.

`labels_count:NUMBER`
: Filtriraj po broju etiketa

<a id="search-changes"></a>

### Pretraga za promjenama

#### Versionadded
Added in version 4.4.

Searching for history events can be done using `change_action` and
`change_time` operators.

For example, searching for strings marked for edit in 2018 can be entered as
`change_time:2018 AND change_action:marked-for-edit` or
`change_time:2018 AND change_action:"Marked for edit"`.

### Unaprijed definirani upiti

You can select out of predefined queries on the search page, this allows you to quickly access the most frequent searches:

![image](screenshots/query-dropdown.webp)

### Redoslijed rezultata

There are many options to order the strings according to your needs:

![image](screenshots/query-sort.webp)

<a id="search-screenshots"></a>

## snimke ekrana

The screenshot listing in a component accepts advanced queries using boolean
operations, parentheses, or field specific lookup.

When no field is defined, the lookup happens on the screenshot name. Use
field-specific lookups to search repository paths, screenshot languages, or
assigned source strings.

### Screenshot fields

`name:TEXT`
: Screenshot name case-insensitive search.

`path:TEXT`
: Repository path to screenshot case-insensitive search.

`repository:TEXT`
: Repository path to screenshot case-insensitive search, same as
  `path:TEXT`.

`language:TEXT`
: Screenshot language code or language name case-insensitive search.

`string:TEXT`
: Assigned source string case-insensitive search.

`context:TEXT`
: Assigned source string context case-insensitive search.

`location:TEXT`
: Assigned source string location case-insensitive search.

`id:NUMBER`
: Jedinstveni identifikator snimke ekrana.

`timestamp:DATETIME`
: Vremenska oznaka dodavanja snimke ekrana u Weblate.

`strings:NUMBER`
: Broj dodijeljenih izvornih izraza.

`has:TEXT`
: Traži snimke ekrana sa sljedećim atributima:
  <br/>
  `string`
  : Screenshot assigned to at least one source string.
  <br/>
  `repository`
  : Snimka ekrana sa stazom repozitorija.
  <br/>
  `path`
  : Snimka ekrana sa stazom repozitorija. Isto kao `repository`.

### Primjeri pretrage snimki ekrana

`login`
: Search for screenshots matching `login` in the screenshot name.

`name:login`
: Search for screenshots with `login` in the screenshot name.

`language:cs`
: Search for screenshots in languages matching `cs`.

`string:"Save changes"`
: Search for screenshots assigned to source strings matching
  `Save changes`.

`has:string`
: Search for screenshots assigned to at least one source string.

`NOT has:string`
: Search for screenshots not assigned to any source string.

`repository:fastlane`
: Search for screenshots with `fastlane` in the repository path.

`strings:>2`
: Search for screenshots assigned to more than two source strings.

`has:repository AND NOT has:string`
: Search for screenshots imported from the repository that still need source
  string assignment.

Screenshot search supports the same [Booleovi operatori](#search-boolean),
[Operatori za polja](#search-operators), [Searching for DATETIME fields](#date-search), exact match, and regular
expression syntax as string search.

<a id="search-users"></a>

## Pretraživanje korisnika

#### Versionadded
Added in version 4.18.

The user browsing has similar search abilities:

`username:TEXT`
: Pretraži korisnička imena.

`full_name:TEXT`
: Pretraži potupuna imena.

`language:TEXT`
: User configured translation language (see [Prevedeni jezici](https://docs.weblate.org/hr/latest/user/profile.md#profile-translated-languages)).

`joined:DATETIME`
: String content was changed on date, supports [Operatori za polja](#search-operators).

`translates:TEXT`
: User has contributed to a given language.
  <br/>
  You might want to limit contribution time by `change_time`, for example `change_time:>"90 days ago"`.

`contributes:TEXT`
: User has contributed to a given project or component.
  <br/>
  You might want to limit contribution time by `change_time`, for example `change_time:>"90 days ago"`.

`change_time:DATETIME`
: Same as in [Pretraživanje izraza](#search-strings).

`change_action:TEXT`
: Same as in [Pretraživanje izraza](#search-strings).

Additional lookups are available in the [Management interface](https://docs.weblate.org/hr/latest/admin/admin.md#management-interface):

`is:bot`
: Search for bots (used for project scoped tokens).

`is:active`
: Traži aktivne korisnike.

`email:TEXT`
: Traži po e-mail adresi.

`ip:TEXT`
: Search by audit log IP address.
