Ticket #417 (closed new feature: fixed)

Opened 17 months ago

Last modified 5 months ago

Multiple Languages for the BW Forum

Reported by: Fabzgy Owned by: jeanyves
Priority: major Milestone: unassigned
Component: BW Forum Version:
Keywords: Languages Cc:
Follow up needed: none Frequently reported: 1
Announce on BW: yes

Description

In order to include non-english speaker in the community we should add the possiblity to write your post in a specific language. The language should be selected from a drop down list, default language is the language the users browses BeWelcome with. Additionally the languages he speaks (according to his profile) and a "+" if the user wants to write in another language (pop-up with all languages).

On the same time you should be allowed to browse the Forum according to your languages. Default Forum view = all languages, select the languages the user speaks according to his profile on top, and then a alphabetic list of all languages under the top language list

The user should be allowed to choose in his preferences which languages he wants to have displayed in the Forum (multiple choice possible)

Change History

Changed 14 months ago by philipp

specific ticket on db model: #466

Changed 14 months ago by philipp

  • milestone changed from unassigned to 0.6-short

before this can go online we need at least an improved user interface - it must be possible to use the forum as if there were no translation system. this means:

  • have appropriate default preselected for writing a post (english)
  • use different links/actions for edit and translate
  • display posts in your bw language or in their original language by default

Changed 14 months ago by philipp

  • owner set to jeanyves

Changed 13 months ago by philipp

  • milestone changed from 0.6-short - full copy release to unassigned

Changed 11 months ago by micha

I had a look at the forum-translation that JY implemented a while ago and that he is still improving. Many people that I asked about the forums translation told me they found it rather unintuitive. It's not always clear if there's another translation of this post somewhere, if this is the original post, you're looking at and if this is right language you're writing in.

So, I thought there's at least a way to show the users in a very transparent way what IS the original post and what IS a translation: Show them both. I know, that might sound complicated but I think it could help to keep an overview. I propose to always show the original posts in order and if there is one, add the translation for a post next to it. E.g.:

Post 1 (in english)

Post 2 (in english) | Post 2 translated in German

Post 3 (in english) | Post 3 translated

This would also allow us, to "start" translations and later finish them. Or only translate the most important parts because people can still look at the original at the same time. They will recognize right away if there's more information that the translation doesn'T contain.

Do you guys get what I mean?

Changed 11 months ago by philipp

only bugs this time:

* tag handling broken: when I create a new post with a new tag it is:

  • displayed with a different tag afterwards
  • the tag is lost when I edit the post

* db error when I try to edit a post and submit it again:

MySQL error!

PException
code: 	1000
message: 	MySQL error!
file: 	/var/www/test.bewelcome.org/lib/db/db_statement_mysql.lib.php
line: 	291

info[0]: Statement: INSERT INTO `forums_tags` (`tag`) VALUES ('test')
info[1]: 1062
info[2]: Duplicate entry 'test' for key 2
PDBStatement_mysql::query( string(51) = "INSERT INTO `forums_"

INSERT INTO `forums_tags` (`tag`) VALUES ('test')  

)
/var/www/test.bewelcome.org/lib/db/db_mysql.lib.php (line 299)
PDB_mysql::query( string(51) = "INSERT INTO `forums_"

INSERT INTO `forums_tags` (`tag`) VALUES ('test')  

)
/var/www/test.bewelcome.org/build/forums/forums.model.php (line 1329)
Forums::updateTags( array[7]

Array
(
    [8kkDTy4z5W1z7lx8TW8-9=FHqNn] => 1
    [IdLanguage] => 6
    [topic_title] => ein neuer post um die übersetzungen zu testen
    [topic_text] => auf deutsch übersetzt
    [tags] => some other tag, test
    [d_continent] => 
    [NotifyMe] => on
)

, string 50

50

)
/var/www/test.bewelcome.org/build/forums/forums.model.php (line 877)
Forums::editTopic( array[7]

Array
(
    [8kkDTy4z5W1z7lx8TW8-9=FHqNn] => 1
    [IdLanguage] => 6
    [topic_title] => ein neuer post um die übersetzungen zu testen
    [topic_text] => auf deutsch übersetzt
    [tags] => some other tag, test
    [d_continent] => 
    [NotifyMe] => on
)

, string 50

50

)
/var/www/test.bewelcome.org/build/forums/forums.model.php (line 737)
Forums::editProcess()
/var/www/test.bewelcome.org/build/forums/forums.ctrl.php (line 282)
ForumsController::editProcess()
call_user_func( array[2]

Array
(
    [0] => ForumsController Object
        (
            [_model:private] => Forums Object
                (
                    [board:private] => 
                    [topboard:private] => 
                    [topic:private] => 
                    [geonameid:private] => 0
                    [countrycode:private] => 0
                    [admincode:private] => 
                    [threadid:private] => 0
                    [tags:private] => Array
                        (
                        )

                    [continent:private] => 
                    [page:private] => 1
                    [messageId:private] => 144
                    [dao:protected] => PDB_mysql Object
                        (
                            [_cr:private] => Resource id #105
                            [_dbname:private] => hcvoltest
                            [_results:private] => 
                        )

                    [prefix:protected] => 
                    [namespace:protected] => 
                    [className:protected] => 
                    [tableName:protected] => 
                    [_cols:private] => Array
                        (
                        )

                )

            [_view:private] => ForumsView Object
                (
                    [_model:private] => Forums Object
                        (
                            [board:private] => 
                            [topboard:private] => 
                            [topic:private] => 
                            [geonameid:private] => 0
                            [countrycode:private] => 0
                            [admincode:private] => 
                            [threadid:private] => 0
                            [tags:private] => Array
                                (
                                )

                            [continent:private] => 
                            [page:private] => 1
                            [messageId:private] => 144
                            [dao:protected] => PDB_mysql Object
                                (
                                    [_cr:private] => Resource id #105
                                    [_dbname:private] => hcvoltest
                                    [_results:private] => 
                                )

                            [prefix:protected] => 
                            [namespace:protected] => 
                            [className:protected] => 
                            [tableName:protected] => 
                            [_cols:private] => Array
                                (
                                )

                        )

                    [_model:private] => 
                )

            [action:private] => 2
            [isTopLevel:private] => 
            [dao:protected] => PDB_mysql Object
                (
                    [_cr:private] => Resource id #105
                    [_dbname:private] => hcvoltest
                    [_results:private] => 
                )

        )

    [1] => ForumsController::editProcess
)

)
/var/www/test.bewelcome.org/lib/handler/posthandler.lib.php (line 101)
PPostHandler::save()
/var/www/test.bewelcome.org/lib/handler/posthandler.lib.php (line 51)
PPostHandler::get()
/var/www/test.bewelcome.org/tools/routing/roxfrontrouter.class.php (line 170)
RoxFrontRouter::traditionalPostHandling()
/var/www/test.bewelcome.org/tools/routing/roxfrontrouter.class.php (line 136)
RoxFrontRouter::route_normal( stdClass object

stdClass Object
(
    [request_uri] => /forums/edit/m144
    [request] => Array
        (
            [0] => forums
            [1] => edit
            [2] => m144
        )

    [req] => forums/edit/m144
    [get] => Array
        (
        )

    [post] => Array
        (
            [8kkDTy4z5W1z7lx8TW8-9=FHqNn] => 1
            [IdLanguage] => 6
            [topic_title] => ein neuer post um die übersetzungen zu testen
            [topic_text] => auf deutsch übersetzt
            [tags] => some other tag, test
            [d_continent] => 
            [NotifyMe] => on
        )

    [get_or_post] => Array
        (
            [8kkDTy4z5W1z7lx8TW8-9=FHqNn] => 1
            [IdLanguage] => 6
            [topic_title] => ein neuer post um die übersetzungen zu testen
            [topic_text] => auf deutsch übersetzt
            [tags] => some other tag, test
            [d_continent] => 
            [NotifyMe] => on
        )

    [post_or_get] => Array
        (
            [8kkDTy4z5W1z7lx8TW8-9=FHqNn] => 1
            [IdLanguage] => 6
            [topic_title] => ein neuer post um die übersetzungen zu testen
            [topic_text] => auf deutsch übersetzt
            [tags] => some other tag, test
            [d_continent] => 
            [NotifyMe] => on
        )

)

)
/var/www/test.bewelcome.org/tools/routing/roxfrontrouter.class.php (line 24)
RoxFrontRouter::route( stdClass object

stdClass Object
(
    [request_uri] => /forums/edit/m144
    [request] => Array
        (
            [0] => forums
            [1] => edit
            [2] => m144
        )

    [req] => forums/edit/m144
    [get] => Array
        (
        )

    [post] => Array
        (
            [8kkDTy4z5W1z7lx8TW8-9=FHqNn] => 1
            [IdLanguage] => 6
            [topic_title] => ein neuer post um die übersetzungen zu testen
            [topic_text] => auf deutsch übersetzt
            [tags] => some other tag, test
            [d_continent] => 
            [NotifyMe] => on
        )

    [get_or_post] => Array
        (
            [8kkDTy4z5W1z7lx8TW8-9=FHqNn] => 1
            [IdLanguage] => 6
            [topic_title] => ein neuer post um die übersetzungen zu testen
            [topic_text] => auf deutsch übersetzt
            [tags] => some other tag, test
            [d_continent] => 
            [NotifyMe] => on
        )

    [post_or_get] => Array
        (
            [8kkDTy4z5W1z7lx8TW8-9=FHqNn] => 1
            [IdLanguage] => 6
            [topic_title] => ein neuer post um die übersetzungen zu testen
            [topic_text] => auf deutsch übersetzt
            [tags] => some other tag, test
            [d_continent] => 
            [NotifyMe] => on
        )

)

)
/var/www/test.bewelcome.org/roxlauncher/roxlauncher.php (line 61)
RoxLauncher::chooseAndRunApplication( EnvironmentExplorer object

EnvironmentExplorer Object
(
    [classes] => Array
        (
        )

)

)
/var/www/test.bewelcome.org/roxlauncher/roxlauncher.php (line 22)
RoxLauncher::launch()
/var/www/test.bewelcome.org/htdocs/index.php (line 63)
main()
/var/www/test.bewelcome.org/htdocs/index.php (line 78)

Changed 9 months ago by philipp

checked latest version on alpha and noticed that the language of the whole site is changed when I choose a translation of a post - that is the same annoying bug we have in the profile and needs to be fixed before we go to production. Only the language of the displayed forum posts should be changed.

Changed 5 months ago by feuerdaemon

  • status changed from new to closed
  • resolution set to fixed

After talking to JY. I'm closing this ticket.

Note: See TracTickets for help on using tickets.