Loading...
Use
Create
Develop
FAQ
Troubleshooting
History: Multilingual_Wiki
View page
Source of version: 39
(current)
Enables most multilingual wiki content features and assigns the translation module. To manage the interface, use ((Interactive_Translation)) instead. {maketoc} !Configuration code {CODE(caption=>YAML,wrap=>1)} preferences: feature_multilingual: y feature_translation: y featur_urgent_translation: y feature_multilingual_structures: y feature_best_language: y feature_detect_language: y quantify_changes: y freetags_multilingual: y wiki_page_regex: full # Support insertion of translated string in wiki markup wikiplugin_tr: y # lang_use_db disabled for now, because it causes Tiki to not look # at all in the language files, and thus, menus etc are never #translated # lang_use_db: y objects: - type: module data: position: right order: 20 name: switch_lang groups: [ Anonymous, Registered ] - type: module data: position: right order: 10 name: translation groups: [ Anonymous, Registered ] {CODE} After this profile is activated, you will notice a "translate" button on wiki pages. Once you translate wiki pages, you will start seeing (when relevant), the "translation" module which provides you information about the state of translation. You can see this in action over at: www.wiki-translation.com !Test plan Below is a list of scenarios that needs to be tested for this profile. Eventually, they should be implemented as automated tests using Selenium. ^Note: This test plan is still highly incomplete!^ __Last tested__ * __Date:__ 2009-12-04 * __By who:__ Alain Désilets * __Branch/Revision number:__ Tiki 4.x/r23661 !!Setting up the site for testing * Reinstall the DB, using Barebones profile * Create page 'English Page With Undfefined Language' ** __IMPORTANT:__ Create this page __before installing the multilingual profile__, so as to simulate a situation where pages with undefined languages were created, before a decision was taken to make the site multilingual (this is a common thing). * Install the Multilingual_Wiki profile * Set the default site languages as English. Set French and Spanish as alternative languages ** Admin > i18n ** __Default Language:__ English ** Click on the __Restrict support languages__ checkbox. ** A list of languages opens up. Holding down the Ctrl key, click on English, French and Spanish. ** __Change preferences__ button. * Enable different kinds of searching ** Search feature Admin > Features > Search ** Wiki Search Box module (make sure you grand permission to all groups) ** Search Box module (make sure you grant permission to all) !!Basic sanity test This test will execute most of the happy pathes of the multilingual features. You can run it in 2-3 minutes to rapidly do a sanity check (the complete test plan takes a good hour to carry out). * Create an English page __Basic Test Page__, and save it. * Click on __Translate__, choose French as the language, and enter following name for the translation: __Page Pour Test de Base__. Click on __Create translation__. * Make sure that: ** Complete text of En page __Basic Test Page__ is displayed on the left hand side, and that it is all highlighted. ** The content of the En page has been pasted into the editor on the right for Fr page _Page Pour Test de Base__. * Click on __Partial Translation__ * Make sure that: ** System displays Fr page ** The __Translate updates__ module shows that this page has __incoming__ translations from English. * Click on the incoming translation icon. * Make sure that: ** Complete text of En page __Basic Test Page__ is displayed on the left hand side, and that it is all highlighted. * Click on __Partial Translation__ * Make sure that: ** System displays Fr page ** The __Translate updates__ module shows that this page has __incoming__ translations from English. * Manually switch language to __English__ (language box at the top right) * Make sure that: ** System displays En page ** The __Translate updates__ module shows that this page has __outgoing__ translations to French * Click on the outgoing translation icon. * Make sure that: ** Complete text of En page __Basic Test Page__ is displayed on the left hand side, and that it is all highlighted. * Click on __Partial Translation__ * Make sure that: ** System displays Fr page ** The __Translate updates__ module shows that this page has __incoming__ translations from English. * Click on __Edit__ button. * Make sure that a warning is displayed at the top, saying that translation of this page is in progress, and providing an icon for continuing that translation. ** Click on the update translation icon in that notice. * Make sure that: ** Complete text of En page __Basic Test Page__ is displayed on the left hand side, and that it is all highlighted. * Click on __Partial Translation__ * Make sure that: ** System displays Fr page ** The __Translate updates__ module shows that this page has incoming translations from English. * Click on __Translate__ button. * Make sure that there is a section "Translate Updates" which allows you to continue translating the update. ** Click on the update translation icon in that section. * Make sure that: ** Complete text of En page __Basic Test Page__ is displayed on the left hand side, and that it is all highlighted. * Click on __Partial Translation__ * Make sure that: ** System displays Fr page ** The __Translate updates__ module shows that this page has incoming translations from English. * In the __Translate Updates__ module, click on the incoming translation icon . * Make sure that: * __THIS TIME__, click on __Complete translation__ * Make sure that: ** System displays Fr page ** The __Translate updates__ module shows that this page __DOES NOT HAVE__ incoming translations from English. * Manually switch to English * Make sure that: ** The __Translate updates__ module shows that this page __DOES NOT HAVE__ outgoing translations to French. * Got to En page __Basic Test Page__, and add this line to it: ** ADDED TO VERSION 2 OF EN * Make sure that: ** The __Translate updates__ module shows that this page has outgoing translations to French. * Click on the outgoing translations icon. * Make sure that: ** Only the __line that was added__ to En is highlighted on the left hand side, namely: *** ADDED TO VERSION 2 OF EN !!Switching between languages ^Need to provide more details for the various scenarios^ * Go to a unilingual page ** Make sure that the language picklist does not mention other languges * Go to a bilingual page (en and fr) ** Use the language picklist to move between the two languages * Go to a trilingual page (en, fr, es) ** Use the language picklist to move between the three languages !!Language guessing * Login as test_user and set langauges preferences: ** Set French as the first language, and English is the second language * Login as admin and set the site's default languges to English * Still as admin, make sure that the langauge guessing feature is enabled * Go to a page that is available in En and Fr ** Make sure that by default, the page is displayed in Fr, even though the site's default language is En. !!Create a new translation * Login as test_user. * Go to an English page that does not have a French translation yet. * Click on the __Translate__ button. * Specify __French__ as the languge of the new translation. * Enter the name for the French translation. * Click on the __???___ button. * Make sure that the content of the original English page was pasted into the new French page. * Make sure that a notice __Traduction en cours__ was automatically inserted at the top of the page. * Replace some of the English text by French text. * Click on __Partial Translation__ button. * Go to the English page. ** Check that the picklist now mentions French. ** Click on the French version, and make sure it takes you to the new French page you created. !!Managing translation of updates * Go to an English page that has a French translation where the two are considered to be 100% up to date. * Change a few words in the English page, and save. * Make sure that the translation assistant (on the right column): ** Says that the French page needs updating. ** Says that the English page is still 100% up to date * Switch to the French page, and check that: ** It says that it needs to be updated from English. ** It is less than 100% up to date. * Click on the __Update from__ icon. * Make sure that: ** You see a diff of the changes you made on the English page. ** You get an edit area with the current content of the French page. ** Reproduce part of the English change in the French, and click on __Partial Translation__ button. ** Make sure that French page is still listed as needing to be updated, and as being less than 100% up to date. * Click again on the __Update from__ icon, and finish translating the English change. ** This time, click on __Complete Translation__ button. * Make sure that the French page is now listed as being 100% up to date, and that it does not have an _update from__ icon anymore. !!Continue a translation by clicking on the Edit button __First, test this for a brand new translation__ * Find an English page that does not have a French translation. * Click on the __Translate__ button, and create a new translation in French. ** Save it as a __Partial Translation__. * Go to the French page and click on __Edit__ button. ** Make sure the system warns you that this page is undergoing translation, and that it provides you for icons for continuing the translation OR to make a brand new edit. ** Click on the icon to continue translation from English, and click on __Partial Translation__ * Go to the French page and click on __Edit__ button again ** Make sure the system warns you that this page is undergoing translation, and that it provides you for icons for continuing the translation OR to make a brand new edit. ** Scroll down to the edit form, and make a change there, and click __Save__. * * Go to the French page and click on __Edit__ button. ** Make sure the system warns you that this page is undergoing translation, and that it provides you for icons for continuing the translation OR to make a brand new edit. ** Click on the icon to continue translation from English, and this time, click on __Complete Translation__ to signal that you are done. * Go to the French page and click on __Edit__ button. ** Make sure the system warns you that this page is undergoing translation, and that it provides you for icons for continuing the translation OR to make a brand new edit. __Next, test this for translation of an update__ * Find an English page which is in-sync with its French translation. * Edit the English page. * Click on the icon to translate this update to French. ** Make sure the system does not warn you that this page is undergoing translation. ** Click __Partial Translation__ * Go to the French page and click on __Edit__ button. ** Make sure the system warns you that this page is undergoing translation, and that it provides you for icons for continuing the translation OR to make a brand new edit. ** Click on the icon to continue translation from English, and click on __Partial Translation__ * Go to the French page and click on __Edit__ button again ** Make sure the system warns you that this page is undergoing translation, and that it provides you for icons for continuing the translation OR to make a brand new edit. ** Scroll down to the edit form, and make a change there, and click __Save__. * * Go to the French page and click on __Edit__ button. ** Make sure the system warns you that this page is undergoing translation, and that it provides you for icons for continuing the translation OR to make a brand new edit. ** Click on the icon to continue translation from English, and this time, click on __Complete Translation__ to signal that you are done. * Go to the French page and click on __Edit__ button. ** Make sure the system warns you that this page is undergoing translation, and that it provides you for icons for continuing the translation OR to make a brand new edit. !!Testing custom translated strings * Create a custom translated string for FR ** __Admin > i18n > Customized String Translation tab__ ** __French > Edit__ *** Replace the following line: {CODE()}//"Hello"=>"My Hello",{CODE} *** With this {CODE()}"will be translated automatically"=>"sera traduit automatiquement",{CODE} *** __Save__ button. ** NOTE: This may not be necessary??? __English > Edit__ *** Replace the following line: {CODE()}//"Hello"=>"My Hello",{CODE} *** With this {CODE()}"will be translated automatically"=>"will be translated automatically",{CODE} *** __Save__ button. * Create a French page with that custom string in it ** Create a page __Page Francaise__. ** Enter following in it: {CODE()}{TR()}will be translated automatically{TR}{CODE} ** Make sure it is a French page *** __Translate__ button, then *** In __Change language for this page__ section, choose French and then click on __Change language__ button. ** Go back to page __Page Francaise__, and verify that the English string is actually displayed in French, i.e. "sera traduit automatiquement". *** BROKEN-2009-12-04: Custom string not translated. Reported in this bug tracker item [http://dev.tiki.org/tiki-view_tracker_item.php?itemId=2913]. !!Simultaneous updates in two languages at once * Go to a page that has En and Fr, and where both are considered to be 100% up to date. * Make a change to the En page. * Make a change to the Fr page. * Check that En page: ** Is shown as less than 100% up to date. ** Has an icon for updating FROM fr ** Has an icon for updating TO fr * Check that Fr page: ** Is shown as less than 100% up to date. ** Has an icon for updating FROM en ** Has an icon for updating TO en * From the Fr page, click on the upddate from icon, translate the update, then click on Complete Translation. * Make sure that the Fr version: ** is now considered as 100% up to date, ** Does not have an update from En icon. ** But still has an update to En icon. * Make sure that the En version: ** is still considered to be __less than__ 100% up to date, ** Still has an update from Fr icon. ** Does not have an update to Fr icon. * Still on the En page, click on the update from fr icon, translate the change, and click on __Complete Translation__. * Make sure that En page: ** Is now shown to be 100% up to date. ** Does not have either an update to fr, nor update from fr icon. * Make sure that Fr page: ** Is now shown to be 100% up to date. ** Does not have either an update to en, nor update from en icon. !!Changing language of a page * Go to an English page that's also available in French, but not in Spanish. * Switch to the French page using the language picklist. * Make sure that the language picklist has French as the language * Change the page's language to Spanish ** Click on the __Translate__ button ** In the bottom section, select Spanish as the language and click on the __Change language__ button. * Go back to the English version of the page ** Make sure that the language picklist does not mention French anymore, but that it mentions Spanish ** Switch to the Spanish page, and make sure that it is the French page whose language you changed to Spanish. ** Turn the language of that page back to French, for future tests. !!Assing existing page as a translation * Create a french page __Bonjour le monde__, and type "Bonjour" in it. * Create an english page __Hello world__, and type "Hello" in it. * On __Hello world__ page, click on __Translate__ button. * Assign page __Bonjour le monde__ as a translation. * NEED TO FINISH DESCRIBING THIS SCENARIO. !!Searching in different languages * Search with the Wiki Search box ** Make sure that the search language defaulted to "any language". Unckeck __exact match__ and try the following scenarios *** Search for a word that matches only the names of English pages *** Search for a word that matches only the names of French pages *** Search for a word that matches only the names of English AND French pages *** Search for a word that does not match ANY page in ANY language. ** Change the search language to "english" and do the following: *** Search for a word that matches the names of an English page only. *** Search for a word that does NOT match the name of an English page, but DOES match the name of a French page. *** Search for a word that matches the names of pages in BOTH English and French. *** Search for a word that does NOT matche the name of ANY page in ANY language. * Search with the Search box (NOT the __Wiki__ Search box). * Make sure the language defaulted to "any language", and try the following. ** Search for a word that only exists in an English page. ** Search for a word that only exists in a French page. ** Search for a word that exists in BOTH an English and a French page. ** Search for a word that exists in NEITHER an English nor a French page. * Change the search language to "english" and do the following: ** Search for a word that only exists in an English page. ** Search for a word that only exists in a French page. ** Search for a word that exists in BOTH an English and a French page. ** Search for a word that exists in NEITHER an English nor a French page. * Change the search language to "french" and do the following: ** Search for a word that only exists in an English page. ** Search for a word that only exists in a French page. ** Search for a word that exists in BOTH an English and a French page. ** Search for a word that exists in NEITHER an English nor a French page. * Search for word 'undefined', with language set to 'any' ** Make sure page 'English Page With Undfefined Language' is found * Search for word 'undefined', with language set to 'French' ** Make sure page 'English Page With Undfefined Language' is found * Search for word 'undefined', with language set to 'English' ** Make sure page 'English Page With Undfefined Language' is found * Search by going directly to tiki-listpages ** Go to tiki-listpages.php directly ** Make sure that the search language is set to 'any language' ** And that there are some pages in the results (actually, all pages should be listed). !!Search for a page, then create it * In the Wiki Search Box, search for 'Blah' ** The system tells you that it does not exist. * Click on the Create button. * Make sure the system asks you to set the pages's language. * Make sure the selected language is English (i.e., the site's default language). * Select French as the language. * Finish creating the page, and save it. * Make sure that the page was created in French, i.e. ** Check that the language picklist (top right) displays French. !!Page creation with multilingual features off does not ask for language * Turn the multilingual features off * In the Wiki Search box, type the name of page that does not exist ye. * Click on the Create button. * Check that the system does __NOT__ ask you for the language of that page. * Finish creating the page, and make sure it displays correctly. * Turn multilingual features back on !!Language of new page is guessed from its parent pages, when clicking on a question mark link to create it * Setup: Create a French page __Page Parent__ and an English page __Parent Page__. * Case where only one parent and it's French ** On French page __Page Parent__, create a link to a non-existant page __Nouvelle Page avec parent francais__, and save. ** Click on the question mark link for __Nouvelle Page avec parent francais__. *** Make sure the system does not ask you for the language of that page. *** Go to the __Tools__ tab, and make sure the system set the new page's language to French. *** Save the new page, and make sure it was created in French (i.e. the language picklist at the top says French). * Case where only one parent and it's English ** On English page __Parent Page__, create a link to a non-existant page __New page with English parent__, and save. ** Click on the question mark link for __New page with English parent__. ** Make sure the system does not ask you for the language of that page. *** Go to the __Tools__ tab, and make sure the system set the new page's language to English. *** Save the new page, and make sure it was created in English(i.e. the language picklist at the top says English). * Case where two parents, one English and one French ** On both English and French parent pages, create links to the same new page ((New Page with both English and French parents)). ** Clikc on one of the two resulting question mark links. *** Make sure the system prompts you for the page's language (since it can't tell if it's French or English). Choose French. *** Save the page, and make sure it was created in French (i.e., the language picklist at the top says French). * Case where multilingual features are off ** Disable multilingual features ** On both English and French parent pages, create links to the same new page ((Another New Page with both English and French parents)). ** Clikc on one of the two resulting question mark links. *** Make sure the system __DOES NOT__ prompt you for the page's language (since it can't tell if it's French or English). *** Save the page, and make sure it doesn't crash.
Menu
Featured profiles
Profiles in Wizard
Profiles Todos
Handlers
Profiles Tester
Admin
of this site
Current Profiles
Tiki version
21.x
24.x
26.x
27.x
28.x
Deprecated
25.x
state
Not fully functional yet
alpha
beta
release
type
Available in the Profiles Wizard (12+)
Featured profiles
Full profile (out of the box & ready to go)
Learning profile (to show off feature)
Long tail
Mini-profile (can be included in other)
Profile-snippet (optional but needs another "parent" profile)
Security
Tests
Latest Changes
Test_all_tracker_field_types_profile
Scheduler_Presets_20
Tracker_as_Calendar_09
Tracker_as_Calendar_10
Hide Fixed Top Nav Bar on Scroll 19
Easy_GeoBlog
test_profile_change
Profiles_in_Wizard
Random_header_images_14
Hide Fixed Top Nav Bar on Scroll 19
How to Create Profiles
Test_All_Plugins
JonnyBs_Luxury_Tiki_Setup
Collaborative_Multilingual_Terminology
Profile_Test_all_Modules_Test_all_Modules_page
...more
Like almost all *.tiki.org sites, you can log in with your login from
https://tiki.org
(register over there)
Search
Find
Most Popular Tags
admin
agenda
alias
antibot
antibot captcha
app
archive
articles
banning
batch
blogs
calculations
calendars
cart
categories
cluster
codemirror
comments
computation
contact us
datachannel
debug
debug console
dropdown with other
error messages
features
file galleries
forums
geo
geocms
geolocation
group homepages
group watches
header
i18n
images
item link
items list
jquery
languages
location
map
maps
maths
menu
menupage
multilingual
ol3
ol5
openlayers
paypal
plugin
plugin alias
plugin datachannel
plugin fade
plugin tabs
plugin trackerlist
pretty trackers
print
project management
r
r project
realnames
rss
static
static text
statistics
stats
structures
syntax highlighter
tablesorter
template
trackers
user watches
visualization
watches
webservice
wiki
wiki argument variables
wiki structures
Tiki Newsletter
Subscribe to the Tiki newsletter.
Don't miss major announcements and other news!