**Project description**Search Translations is a search tool that empower translators to search for messages they want to translate. Without the search tool, translators would have to browse through all the messages. This project aims at making translations consistent between translators and saving their time.
Search Translations is a search tool that empower translators to search for translationsThe tool offers an important missing feature, cross language search to search and translate messages from one language into another. Translators often want to check how a specific term was translated in a certain language across the project. They can switch the results to the translations of said messages, for instance to find the existing, missing or outdated translations of a certain term.
{F2054669}
If you have a wiki and you want your wiki's interface to be translated into, say French, then go to Special:SearchTranslations, perform search queries and you will get the messages you want to translate to. For example, suppose you want to translate all messages with 'install' to French, but you do not know how the word has been translated into French, then you can lookup other translations for the word in French to see how the word was translated in French. You can then switch the tab to find all the untranslated messages for the word and translate it and therefore maintain consistency between translations. Moreover, you can also find all the outdated messages and update them. Without this tool, the above mentioned workflow would have been difficult. This tool makes the process from searching to editing translations easy.
The tool is available at the special page called Special:SearchTranslations. After performing a search, the results are categorized into four columns: translations in the language along with translated messages, untranslated messages and outdated messages matching the query in the source language respectively. There are language and group/subgroup filters to narrow down the search results. To select a filter just click on the link and to clear a filter, you can either re-click on the selected filters or reclick the items in the selected box at the top-left corner of the page.
{F2055007}
This tool also optimizes your search by intelligently trying to predict what search options you may want to use in your search. You can search with wildcard (*) at the end of the string to get the messages containing the prefix. Search can also be performed with message keys. By default, the tool searches for any word in the query, but when there are many results retrieved, it also provides you with an option to get results for all the words in the query. The translators may search queries and retrieve the results that they are looking for.If the case-sensitive checbox is selected, They can narrow dowthen their result with the language and group/subgroup filters provided at the left panel tool will perform case sensitive queries.
If you have recently setup a wiki and you want your wiki's interface to be translated into, say French, then as a translator you can go to Special:SearchTranslations, perform search queries and add/edit messages. Suppose you want to translate all messages with 'install' to French, then just search with the word 'install' and you will get an option to see all the translations of "install" in French. MoreoverFinally, you can find all the untranslated messages and messages in French that are outdated and need updatingabove can also be done through inline searching. Without this toolYou can use various search operators like language and group to get filtered results prior to the search, adding/editing translations for all messages with "install" would have been difficultin one click.
This tool also optimizes your search by intelligently trying to predict what search options you may want to use in your search. You might know the prefix of the word you are looking for and can search with wildcard (*) at the end of the string to get the messages containing the prefix you searched for. Search can also be performed with message keys. By default, the tool searches for any word in the query but when there are many results retrieved, it also provides you with an option to select to get results for all the words in the query. Case-sensitive queries restrict the result set to only the messages which match the query case.{F2055422} {F2055435}
**Demo server link**
- http://translation-search.wmflabs.org/wiki/Special:SearchTranslations
**Resource links**
{F1907701}- Gerrit: [[ https://gerrit.wikimedia.org/r/#/q/project:mediawiki/extensions/Translate+owner:%22Phoenix303+%253Cdivyalife526%2540gmail.com%253E%22,p,003699e600035a87 | link ]]
- Missing features/known bugs. Add links to p- Phabricator tasks for the same and leave a short explanation.: #Translation-search
**Demo server link** : http://translation-search.wmflabs.org/wiki/Special:SearchTranslations- Github: [[ https://github.com/wikimedia/mediawiki-extensions-Translate | link ]]
**Resource which can make contributing to this project easier for newcomers**
**Resource links**: [[ https://gerrit.wikimedia.org/r/#/q/project:mediawiki/extensions/Translate+owner:%22Phoenix303+%253Cdivyalife526%2540gmail.com%253E%22,p,00368cb8000369f5 | Gerrit ]]- For anyone who wants to get involved in this project understanding the [[ https://www.mediawiki.org/wiki/Help:Extension:Translate/Components | components ]] of the Translate extension like Translation Memory, Message collection, Message groups, Message handle, Message index can be really helpful.
- This feature is not enabled by default and requires [[ https://www.mediawiki.org/wiki/Help:Extension:Translate | Wiki link ]]/Configuration | configuration ]]. It is built on [[ https://www.elastic.co/ | ElasticSearch ]], so make sure to install it.
The project has been completed and thanks to my mentors @Nikerabbit and @Nemo_bis for helping me throughtout the project from the setup to the designing of user interface. During the project, I had some difficult time understandingassessing the requirements but as I had more discussions with the mentors not only did I submit the patches but also they were reviewed and merged to production.
For anyone who wants to get involved in this project understanding the different components of the Translate extension like Translation Memory, Message collection, Message groups, Message handle, Message index can be really helpful.