Editor Strings allows you to filter (text) and illustrate key string results across all your projects and languages in one instance via your organization’s page. Simplistic in its use, and just with a few clicks, indicate from the selected pool of strings and switch to the editor with one click to conduct all your edits in an organized, efficient manner.
How it works
Enter your dashboard, navigate to the left-side menu bar and click the “Strings” option.
Click on the Editor Strings tab.
Enter the text in the search field, hit Enter on your keyboard, or click the “Search” button. This will automatically search for the source text and fetch all the strings that include any words entered in the search field.
If you wish to filter the results further, click in the “Filters” box below to set your search criteria per project/ source language/target language /resource/text /status /user/date or key.
Subsequently, a table is generated, including all the string results (with a threshold of up to 4,000 entries) and a sorting option (which must be performed before searching) that can sort the strings based on:
Last activity (fetches the most recently reviewed strings).
Project (segments strings per project).
Relevance (sorts by text relevance).
Appearance order (Source strings are sorted based on the order they appear in our database, and all translations for each string are grouped together, providing a unified view of multilingual content).
The “Items per page” section at the top left of the table can display up to 100 entries.
Pagination is displayed on the right top of table "1-10 of 230", and by clicking the
arrow icons, you can navigate to the next or previous page.
Clicking on a string will cause the window below to slide from the right, containing valuable info regarding that string.
You can open the string in the editor by clicking on the “Open in Editor” button below or directly clicking on the corresponding icon.
The editor opens in a new tab.
Specifics & Conditions
For optimal performance, the search fetches up to 4,000 entries; when exceeded, the entries are displayed as 4,000+. If the threshold of search results is reached, a message will appear: "Please refine your search criteria".
Only one sorting can be performed at a time. For example, sorting by source language and then sorting by project name will remove the first sorting by source language.
Sorting can be performed before searching for strings.
Default sorting is by “Project” if only filters have been used.
If text search is also used, results are sorted by “Relevance”.
String search vs Editor search and special characters
String search differs from Editor search in that it can index a lot more content in your organization, and thus, its implementation differs quite a bit under the hood.
String search indexes your content so that it can be retrieved quickly when you search for it. This indexing process must ignore many special characters for practical reasons such as performance or because they are being used by the underlying Query language, for security reasons, to improve search quality, or due to compatibility and encoding concerns.
For example, if you search for the "&" character in String search, this will not yield any results, but if you do the same using the search function in the Editor, you will get results (provided there are strings that contain this character).
String search can strictly search for text content, but if you want to find specific special characters, you can do so on a project-by-project basis while viewing all resources at once.
Another alternative would be to use our API. Below, you will find a snippet of code doing this using the Python API SDK:
python -m venv transifex_api
source ./transifex_api/bin/activate
python -m pip install transifex-python
import itertools
from transifex.api import transifex_api
transifex_api.setup(auth=API_TOKEN)
organization = transifex_api.Organization.get(slug=ORGANIZATION_SLUG)
for project in organization.fetch('projects').all():
for resource, language in itertools.product(
project.fetch('resources').all(),
project.fetch('languages').all()):
for translation in (transifex_api.ResourceTranslation.
filter(resource=resource,
language=language,
translated="true").
all()):
if any(("..." in string
for string in translation.strings.values())):
print(f"Project: {project.slug}, "
f"Resource: {resource.slug}, "
f"Language: {language.code}, "
f"Text: {translation.strings['other']}")
💡Tip
Looking for more help? Get support from our Transifex Community Forum!
Find answers or post to get help from Transifex Support and our Community.