Loading...
 

History: Collaborative_Multilingual_Terminology

Preview of version: 166

When completed, this profile will allow a group of users to collaborate on creating a multilingual glossary of terms for a site. This kind of glossary is invaluable to help with the translation of content, and ensure consistent use of terms and their equivalents.

The profile will essentially emulate the HTAGlossary site:


However, as of 2009-06-01, it is not ready for prime time yet.



Features & settings

YAML
instructions: Get Started with Multilingual Terminology preferences: # The whole thing is based on the wiki feature feature_wiki : y # # Pages for a term must be available in multiple languages # feature_multilingual : y feature_translation: y feature_multilingual_one_page: y # # Enable templates, so we can provide user with # templates for terminology entries # feature_wiki_templates: y # User preferences needed so users can specify # the languages they are interested in. feature_userPreferences: y # # Page title only displayed once, so we can't use page title # to display the term. Instead, ask the user to enter the # term on the first line. # # Actually, as of 2009-06-10, Marc said he will ask LPH # to make all titles be displayed. Once that is done, will # change that feature back to y. # feature_page_title : y # # So site can send out email messages to users? # feature_messages: y # # Categories can be used to specify domains for terms. # # As of 2009-06-10, Category Objects lists all the # pages that are tagged with a category. This is WAY too # long, and takes too much screen real-estate. Need to # change code to make list of pages optional # # Could also use categorypath, but it is only displayed for # the first language at the top, and we need it displayed # for all languages. # feature_categoryobjects: y feature_categories: y categoryobjects: y categorypath: n # # Not sure what this is.... # wiki_edit_plugin: y # # Comments can take too much real-estate. Translators # mostly want to see the term in source language, and # its equivalent in target language, and they need # to visually parse the screen efficiently # So make comments invisible unless the user # clicks on it. # feature_wiki_comments: y wiki_comments_displayed_default: n # # Do we really need freetags? # feature_freetags: y # Need to be able to search for a term feature_search: y # Enable user watches feature_user_watches: y feature_print_indexed: y feature_mytiki: y wiki_comments_displayed_default: n wikiHomePage: Get Started with Multilingual Terminology allowRegister: y validateRegistration: y auth_ldap_adminuser: y auth_ldap_adminpass: y validateUsers: n



Modules

YAML
objects: # # Note: terminology module may only be available in trunk # version, not 3.0. # - type: module ref: module_terminology data: name: terminology position: right groups: [ Registered ] order: 10 - type: module ref: module_search_box data: name: search_box position: right groups: [ Registered ] order: 15 - type: module ref: module_quick_edit data: name: quick_edit submit: Create Term position: right groups: [ Registered ] order: 20 - type: module data: name: last_modif_pages position: right order: 1 groups: [ Editors, Registered, Admins ] - type: module ref: module_since_last_visit_new data: name: since_last_visit_new position: right groups: [ Registered ] order: 30 - type: module ref: module_switch_lang data: name: module_switch_lang position: right groups: [ Registered, Anonymous ] order: 25


Wiki pages included with this profile


This is where we include some wiki pages
Id Page Last modification Categories
278 collaborative_terminology_platform_blog
Thu 08 of Mar, 2012 03:16 GMT-0000
Documentation
279 collaborative_terminology_platform_bl...
Thu 08 of Mar, 2012 03:17 GMT-0000
Documentation
244 collaborative_terminology_platform_fi...
Thu 08 of Mar, 2012 03:29 GMT-0000
Documentation
286 collaborative_terminology_platform_in...
Admin page for Terminology features
Thu 08 of Mar, 2012 03:30 GMT-0000
Documentation
367 collaborative_terminology_platform_in...
French User guide for Collaborative Multilingual Terminology module
Thu 08 of Mar, 2012 03:33 GMT-0000
Wiki pages included by profiles
277 collaborative_terminology_platform_in...
Thu 08 of Mar, 2012 03:33 GMT-0000
Wiki pages included by profiles
396 collaborative_terminology_platform_in...
Template for German terms
Sat 17 of Mar, 2012 02:29 GMT-0000
Documentation
305 collaborative_terminology_platform_in...
Template for new English terminology entries
Sat 17 of Mar, 2012 02:29 GMT-0000
Documentation
375 collaborative_terminology_platform_in...
Sat 17 of Mar, 2012 02:30 GMT-0000
Documentation
309 collaborative_terminology_platform_in...
Modèle pour entrées en français
Mon 15 of Oct, 2012 01:57 GMT-0000
Documentation
242 collaborative_terminology_platform_in...
Help page for the profile.
Sun 18 of Mar, 2012 20:42 GMT-0000
Wiki pages included by profiles
288 collaborative_terminology_platform_mo...
Sample terminology entry in French
Mon 28 of Jul, 2014 16:10 GMT-0000
Wiki pages included by profiles
374 collaborative_terminology_platform_Mo...
Just a sample spanish term
Sun 18 of Mar, 2012 20:40 GMT-0000
Documentation
243 collaborative_terminology_platform_rs...
Thu 08 of Mar, 2012 03:15 GMT-0000
Documentation
281 collaborative_terminology_platform_ta...
Taggage
Sun 18 of Mar, 2012 20:44 GMT-0000
Wiki pages included by profiles
280 collaborative_terminology_platform_ta...
Tagging
Sun 18 of Mar, 2012 20:45 GMT-0000
Wiki pages included by profiles
287 collaborative_terminology_platform_wi...
Just a sample term.
Sun 18 of Mar, 2012 20:45 GMT-0000
Wiki pages included by profiles

collaborative_terminology_platform_include_module


YAML
objects: - type: wiki_page ref: collaborative_terminology_platform_include_get_started_with_multilingual_terminology data: name: Get Started with Multilingual Terminology lang: en content: wikicontent:collaborative_terminology_platform_include_Get_Started_with_Multilingual_Terminology_include - type: wiki_page ref: collaborative_terminology_platform_include_Term_Template data: name: Term Template lang: en content: wikicontent:collaborative_terminology_platform_include_Term_Template - type: wiki_page ref: collaborative_terminology_platform_include_admin_page data: name: Collaborative Terminology admin page lang: en content: wikicontent:collaborative_terminology_platform_include_admin_page - type: wiki_page ref: collaborative_terminology_platform_include_register_and_set_your_languages data: name: Register and Set your Languages lang: en content: wikicontent:collaborative_terminology_platform_include_register_and_set_your_languages - type: wiki_page ref: collaborative_terminology_platform_rss_feed data: name: RSS feed lang: en content: wikicontent:collaborative_terminology_platform_rss_feed translations: [ $collaborative_terminology_platform_fil_rss] - type: wiki_page ref: collaborative_terminology_platform_fil_rss data: name: Fil rss lang: fr content: wikicontent:collaborative_terminology_platform_fil_rss - type: wiki_page ref: collaborative_terminology_platform_wiki_engine data: name: Wiki engine lang: en content:wikicontent:collaborative_terminology_platform_wiki_engine translations: [ $collaborative_terminology_platform_moteur_wiki] - type: wiki_page ref: collaborative_terminology_platform_moteur_wiki data: name: Moteur wiki lang: fr content:wikicontent:collaborative_terminology_platform_moteur_wiki - type: wiki_page ref: collaborative_terminology_platform_tagging data: name: tagging lang: en content:wikicontent:collaborative_terminology_platform_tagging translations: [ $collaborative_terminology_platform_taggage] - type: wiki_page ref: collaborative_terminology_platform_taggage data: name: taggage lang: fr content:wikicontent:collaborative_terminology_platform_taggage - type: category ref: cateory_term data: name: term description: Base category used for all terms





Permissions

YAML
objects: - ref: Multilingual_Permissions permissions: Anonymous: allow: -view -comment -wiki_view_comments -post_comments -search -search_categorized -view_categories Registered: description: Will be ignored because group is already created allow: -view_categories Editors: description: Can edit & delete all content allow: -edit -rename -admin_categories Admins: description: Have all rights allow: [ admin ]



Questions to answer


  • How do I set up the glossary profile and make it multilingual?
  • How do I create a glossary entry in say, French?
  • Given an entry in say, French, how do I create the corresponding entry in say, English?
  • How do I avoid reinventing the wheel? For example, say I create a French entry for word X, and then want to create the corresponding entry Y in English, but someone already created Y, how do I find out about it and tie the two together. In particular, what happens if the existing Y is a very slight variation on the Y that I am currently trying to create (eg: I am creating the verb form, whereas the existing Y used the noun form)?
  • I don't want to change an entry... just comment on it.
  • How can I respond to someone else's comment?
  • Can I create an entry in French that has more than one English equivalent?
  • How do I create a domain hierarchy?


Unmet needs at the moment


Below is a list of needs that are not well met by the profile, with ideas for how to address them.

Need to support more than one equivalent for a term


A term in English like "web browser", will often have more than one possible equivalent in French. For example, "navigateur web" or "fureteur web". When looking for an equivalent to "web browser", I want to see all equivalents in French.

How to do this?

Several solutions

Solution 1: Search in both page name and synonyms section


If the search is done not just on the page name (i.e. the term), but also on its synonyms, then we can find "navigateur web" page by looking for "fureteur web", assuming that it is listed as a synonym.

The problem is that at the moment, we can't search inside structured fields like the page name fields. So, we have to search through the full text, but the full text search is not very smart. In particular, it doesn't first show pages that contain all query words in succession. In other words, if page A contains "fureteur <50 words in between> web" and page B contains "fureteur web", there is no garantee that page B will be listed first in the hits for query "fureteur web". So, if we search for term "fureteur web", we might get a lot of pages that contain those two words, but not close to one another.

I can see two ways to resolve this.

Solution 1a: TODO-LPH: One solution is to make the search engine smarter, so that it first shows

  • Pages whose titles contain query temrs
  • Pages that contain query words in close succession

Solution 1b: TODO-LPH: Make page "fureteur web" redirect to "navigateur web"

Suppose we create a page "fureteur web" which is mostly empty but redirects automatically to "navigateur web". Then people would be able to find "fureteur web", but autoamtically end up at "navigateur web", where they would see that it translates to "web browser".

This is almost possible by adding an alias (semantic web) link to "fureteur web" on page "navigateur web".When that is done, whenever people try to access page "fureteur web", they get to "navigateur web". However, they can't search for "fureteur web", because that page cannot exist AND redirect to "navigateur web". In other words, if you create page "fureteur web", then it does not redirect to "navigateur web", even if "navigateur web" identifies it as one of its aliases.

LPH says that the page name search should be able to search in pages names, AND in aliases, even if the alias page does not exist. But that does not seem to be working.

So, the todo would be to change the TIki code so that the search_wiki_page module, or some other search module, is able to search in the aliases, not just the page names.









One possible solution is to have page "Web browser" have the most common equivalent "Navigateur web" as its "translation" into French, but list "fureteur web" as a synonym on the page for "navigateur web".

That will work if we are looking for an equivalent for "web browser". You will find "navigateur web", then see at the bottom of that page that it can also be said as "fureteur web".

But what if I am looking for an English equivalent for "fureteur web"? I would then go to the page "fureteur web", and see that it doesn't have a "translation" (because "web browser" is the translation of "navigateur web", not "fureteur web".).

So, how to deal with this.

A possible solution would be for the search "fureteur web" to be made not only on the page name, but also on the synonyms sections.

BTW: THIS IS REALLY CRUCIAL FOR TRANSLATORS!

TODO-LPH:

Another possibility is that if you create a synonym in a page, but that synonym does not have its own page, then you would automatically create a blank page for it. Ex, on the "navigateur web" page, I create a synonym link for "fureteur web", eventhough there isn't a page for that yet. When I save "navigateur web", the system automatically creates a blank page for "fureteur web". And we activate the synonyms module, so that if I search for "fureteur web", I get a blank page which lists on the right "navigateur web" as synonym. I can then go to "navigateur web" page and find the equivalent "web browser".

Actually, if we use the fureteur web markup on the "navigateur web" page, then, if people try to go to the "fureteur web" page, they will end up automatically at the "navigateu web" page, which is probably a good idea.

Another possibility would be for the search to search not only in the page name (i.e. the title), but also the synonyms. So if I search for "fureteur web", it would find "navigateur web", I would click on it, and see "fureteur web" in the list of synonyms. So I would know that the translation of "navigateur web" is what I am looking for.

The first solution should probably do the trick for now.


For this to work, the user has to be able to see a list of "back-synonyms". For example, on page "navigateur web", the page "fureteur web" has been labeled as a synonym. But the page "fureteur web" is an empty one, and does not specify that IT is a synonym for "navigateur web" (in other words, no explicit backward synonym relation from "fureteur web" back to "navigateur web", just an implicit one). So, if I look for a translation of "fureteur web", all I get is a blank page for that term, with no indication that there might be a translation for it on the page "navigateur web".

But Marc tells me that there is a module which can display the synonyms of a page (whether specified on that page or on the pages for the synonyms). So, need to activate it.

TODO-AD: Activate the module to list synonyms of a a page.

See above for reasons why.


Shouldn't have to always say I want "all" languages


Right now, everytime I look at a term, I have to re-select "all" languages in the picklist. This is really annoying.

TODO-LPH: Modify code so that the user's choice of language in the picklist is persistent.

In other words, the language the page is displayed follows the following pecking order:
  • Last choice of language made EXPLICITLY BY THE USER by clicking on the language picklist (including the possibility that "all" was selected).
  • User's language preferences set for that site in her profile
  • User's language preferences set in Firefox

Actually, rather than "all" languages, there should be an option "my languages". If I only speak Fr and En and Es, then I only want to see those 3, not the other 15 languages that may be supported by the site.


Problem: when user would click "HomePage" or another non-terminology page, he'd get in multilingual

Need to search only on the term name


Say I search for the term RSS feed. Then I only want to find terms that have RSS feed in the term itself. If the entry for a term has RSS feed in the definition of the term, I don't want to have it in the hits (at least, not unless I have asked for a full text search).

TODO-AD:
Apparently, this can be done as follows:


Need a quick summary of all target language equivalents for a source language term


When searching for a target language equivalent for a source langauge term, translators need to make a decision quickly, without having to do too many mouse clicks. The current approach of having a term associated to various equivalents through synonyms is awkward, because even the user may need to browse through a series of Source language synonyms, before he finds the one which is associated to a target language equivalent.

One way to deal with this woudl be to have a multilngual terminology module which would show the equivalents of the term in the langauges spoken by the user.

For example, assuming the user specified Fr and En as her languages, and if she is looking at the page "Web Browser", the module would display:

Equivalents
e: list of English synonyms for "Web Browser"

fr: list of translations for all English synonyms to "Web Browser", and French synonyms for all those translators.


This terminology module might have forms to carry out the basic terminology tasks:
  • Search for a term
  • Create a term
  • Terminology Help (woudl poitn to the Get Started with Multilingual Terminology page)

TODO-LPH: Create a terminology module as per the above description.


Need to compare entries in two languages side by side


For the terminology profile, if the user selects "all" or "my languages" as the language name, and if that turns out to correspond to only two languages (say, English and French), then the two pages should be presented side by side instead of one on top of the other.

Usually, if I ask to see two languages, it's because I want to compare them, and side-by-side is the only reasonable way to do this if the pages are long.

This is useful in the case of terminology profiles, because terminology entries can be quite long (for example, the Réseau des Traducteurs en Éducation puts a lot of details on their entries). When that is the case, displaying the two entries one on top of the other makes it impossible for the translator to see the term in say En, with its equivalent in Fr, because the Fr equivalent is way down, and may be beyond the visible portion of the page.

Another solution to this dilemma would be to have a terminology module which displays links to the current page in source language, as well as all its synonyms in source language, and all the equivalents in target language.

But I still think that if I am asking for two languages, I probably want to see them side by side. In particular, I may want to compare the two definitions to make sure that they are indeed referring to the same concept.

TODO-LPH: Change the Tiki code so that if the user asks to see only two languages, they will be displyaed side by side. For more than 2 languages, then one on top of the other is the only option (otherwise, columns will be too narrow)



Misc Todos


  • The Terminology module should check that the Terminology profile has been installed. If it hasn't, it should display a highly visible warning telling the admin to install that profile (and providing a link with instructions on how to do this... for example, a link to the profile itself, and the profile would have instructions on how to install it.)

  • When searching for a term in a language, if not found, the created button should link to an edit form that uses the appropriate template in the appropriate language Ex: Term Template fr.

  • The guide should provide instructions about how to deal with the situation where a same word can refer to different things. For example, Tag can refer to metadata, to a markup element, or to a dog tag. The solution is to create pages with slightly different names, for example "tag — metadatat", "tag — markup", "tag — identity plaque".


  • Terms should all be created in a same categorry called Term. Search and page creation form for the Terminology module should use that category. Make the seeded pages in the profile part of that category.

  • terminology.php should have an argument install_term_templates. If you invoke it with that argument, it will set up templates in different languages for terms. Each template will be called "Term Template fr", "Term Template en", etc... and will be based on pages (installed by the profile). With same name. It will erase those files when done. If the templates already exist, it will warn the user that they will be replaced. Should document that step in the Terminology Admin page.

  • Refactor the instructions pages into one long page called "Guide to collaborative multilingual terminology creation". The guide will have a section for Admins, and a section for Editors.
    • Section for editors comes first.
    • Section for editors talks about:
      • Searching for a term
      • Creating a new term
      • Creating an equivalent for a term
      • What to do if a same word can mean different things (create different pages which are more explicit, ex: tag — dog plaque, vs tag — metadata).
      • Tracking certain pages or the whole site
      • Using categories for domain classification
    • Section for admins talks about:
      • Finalising the installation
      • Keeping abreast of new users
      • Approving new users
      • Tracking the whole site

  • The guide should provide instructions about using categories to assign domains. The admin section should suggest that the admin seed the category tree.


  • Guide should provide instructions about how to manage users.
    • Ask for email notification of new users.
    • Move new users from Registered to Editors soon after registering.
    • What are the different groups and their permissions.

  • Guide should bring users attention to the Last changes module as a way to keep track of what others do. Also, explain the page tracking feature.


  • Guide should mention breadcrumbs feature.


  • Should editors be allowed to control addition, deletion of categories?
    • Editors should definitely be allowed to assign categories to pages. But should they be allowed to create new categories, or delete existing ones?

  • Add page tracking, and provide instructions in the guide.

  • Guide should provide instructions on how to track the whole site (not just individual pages)

  • Make it so editors can view history.

  • Make it so editors can revert changes.

  • Make it so that Anynoymous can see comments (only enabled for admins at the moment)

  • Activate breadcrumbs.

  • Make it so that the guide is available in French and English.

  • Put a new users dashboard for admins, so they can move new users to the Editors group.

  • Need language indicator in front of the term in the list of equivalents. Ex: fr: Fil RSS, en: RSS feed.

  • Test profile with non-admin users. Make sure that:
    • Can view entries
    • Can edit entries
    • Can view history
    • Can revert change
    • Can track pages
    • Can post comment
    • Can assign categories
    • Anything else?

  • First paragraph of the profile should provide a plain English description.

  • Put comments in the YAML stuff to document the various decisions made.

History

Advanced
Information Version
Thu 28 of Dec, 2023 17:00 GMT-0000 Marc Laporte warning 621
Fri 14 of Jul, 2017 11:44 GMT-0000 luciash d' being 🧙 mark broken link 620
Tue 24 of Jan, 2017 11:09 GMT-0000 Xavi (as xavidp - admin) adding a space between "-" and the permission name to have th enew yaml library in 16.x accept the syntax (it was probably invalid yaml being tolerated only by the former yaml library and not allowed) 619
Wed 18 of Apr, 2012 19:00 GMT-0000 Marc Laporte more 618
Wed 18 of Apr, 2012 17:22 GMT-0000 Marc Laporte more 617
Wed 18 of Apr, 2012 16:59 GMT-0000 Marc Laporte more 616
Wed 18 of Apr, 2012 16:57 GMT-0000 Marc Laporte more 615
Wed 18 of Apr, 2012 16:50 GMT-0000 Marc Laporte more 614
Wed 18 of Apr, 2012 16:48 GMT-0000 Marc Laporte more 613
Wed 18 of Apr, 2012 16:45 GMT-0000 Marc Laporte more 612
Wed 18 of Apr, 2012 16:42 GMT-0000 Marc Laporte more stuff todo! 611
Wed 18 of Apr, 2012 16:39 GMT-0000 Marc Laporte new stuff 610
Sun 18 of Mar, 2012 20:53 GMT-0000 Greg Wheat Moved to needs a bit more coding 609
Fri 03 of Dec, 2010 13:31 GMT-0000 Marc Laporte Should be obvious 608
Tue 14 of Sep, 2010 02:10 GMT-0000 Marc Laporte cleaner 607
Mon 15 of Feb, 2010 21:27 GMT-0000 alain_desilets 606
Mon 15 of Feb, 2010 21:25 GMT-0000 alain_desilets 605
Mon 15 of Feb, 2010 19:37 GMT-0000 alain_desilets 604
Mon 15 of Feb, 2010 19:20 GMT-0000 alain_desilets 602
Wed 03 of Feb, 2010 20:57 GMT-0000 alain_desilets 601
Sun 24 of Jan, 2010 12:07 GMT-0000 alain_desilets 600
Tue 22 of Dec, 2009 21:48 GMT-0000 alain_desilets 599
Tue 22 of Dec, 2009 16:56 GMT-0000 alain_desilets 598
Tue 22 of Dec, 2009 16:48 GMT-0000 alain_desilets 597
Tue 22 of Dec, 2009 16:38 GMT-0000 alain_desilets 596