View Issue Details

This bug affects 1 person(s).
 8
IDProjectCategoryView StatusLast Update
14782Feature requestsTranslationpublic2023-11-27 15:45
Reporterbewi Assigned ToDenisChenu  
PrioritynoneSeverityfeature 
Status closedResolutionduplicate 
Target Versiondevelop 
Summary14782: Possibility to override single translations
Description

The CMS I am very familiar with is TYPO3. There we have the possibility to individually overwrite every single translation text that comes from language files.

With Limesurvey I got the request that the mail templates for surveys should be more specific by default (adressfooter). I have managed this with difficulty (I am still working my way into Limesurvey).
But now the customer has stumbled across very strange translations for "Data policy settings":
"Datensicherheitserklärung" and "Umfragedatenrichtlinie" (the usual term in German would be "Datenschutzerklärung").
(I have opened a ticket for the "Privacy Policy" translation: 14781)

I can't retranslate the language files and don't want to, because they might be changed back after the next update, which might also include new labels or changes to other labels.

It would be a easier if you can store such translation overrides for single surveys or at least globally in the installation.

TagsNo tags attached.
Bug heat8
Story point estimate
Users affected %

Relationships

duplicate of 17163 closedDenisChenu Feature requests Allow translation by DB 
related to 19283 closedtibor.pacalat Bug reports Manual page about adding custom translations is missing 

Users monitoring this issue

DenisChenu

Activities

DenisChenu

DenisChenu

2019-04-17 16:31

developer   ~51501

One of my idea is to :

  1. Add a DB messagesource (empty) https://www.yiiframework.com/doc/api/1.1/CDbMessageSource
  2. GT do :
    1. Load current https://www.yiiframework.com/doc/api/1.1/CGettextMessageSource messagesource
    2. Load some plugin message source
    3. Load CDbMessageSource

Then : user with access to DB can update any string.

After we can construct a CDbMessageSource GUI editor

bewi

bewi

2019-05-09 07:22

reporter   ~51845

some ideas to consider:

  • what will happen when a new translation is done in the core? a new entry, a changed existing translation?
  • what about fallback languages so not everything needs to be copied? (swiss and austrian are identical to german in most parts, but there are differences)
  • in a cascading system (like for the theme templates) individual translations can be handled easier than with one single table

having only one table/source for translations, where also individualizations are stored, no update would be possible, as you can not know which translation was from core and which from individualization.
and as long as you can not guarantee a full translation in every language you need fallbacks, which may need individualization for each language in the fallback chain.

DenisChenu

DenisChenu

2019-05-09 07:53

developer   ~51846

In my idea : Core translation came from the mo files, like today, core system MUST not update DB translation. DB is used only at last, plugin can update if they really needed, but it's not in LimeSurvey API.
DB are used only for user specific translation.

ollehar

ollehar

2019-05-23 10:46

administrator   ~52063

Good request!

DenisChenu

DenisChenu

2022-02-24 10:03

developer   ~68399

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=33256

Related Changesets

LimeSurvey: master 1ed30057

2022-02-08 10:32

DenisChenu

Committer: GitHub


Details Diff
New feature 14782: Possibility to override single translations by database (#2213) Affected Issues
14782
mod - application/config/internal.php Diff File
mod - application/config/version.php Diff File
rm - application/core/LSCGettextMessageSource.php Diff
add - application/core/LSMessageSource.php Diff File
mod - application/core/LSYii_Application.php Diff File
add - application/helpers/update/updates/Update_480.php Diff File
mod - application/libraries/PluginManager/PluginBase.php Diff File
mod - installer/create-database.php Diff File
mod - tests/TestHelper.php Diff File
add - tests/functional/acceptance/14782-override-translation/LSMessageSourceTest.php Diff File

Issue History

Date Modified Username Field Change
2019-04-17 12:57 bewi New Issue
2019-04-17 16:31 DenisChenu Note Added: 51501
2019-04-17 16:31 DenisChenu Issue Monitored: DenisChenu
2019-04-18 13:41 c_schmitz Project Bug reports => Feature requests
2019-05-08 12:28 DenisChenu Assigned To => DenisChenu
2019-05-08 12:28 DenisChenu Status new => assigned
2019-05-08 12:28 DenisChenu Target Version => develop
2019-05-09 07:22 bewi Note Added: 51845
2019-05-09 07:53 DenisChenu Note Added: 51846
2019-05-23 10:46 ollehar Note Added: 52063
2022-01-19 18:23 DenisChenu Relationship added duplicate of 17163
2022-01-19 18:23 DenisChenu Status assigned => closed
2022-01-19 18:23 DenisChenu Resolution open => duplicate
2022-02-24 10:03 DenisChenu Changeset attached => LimeSurvey master 1ed30057
2022-02-24 10:03 DenisChenu Note Added: 68399
2023-11-27 15:45 DenisChenu Relationship added related to 19283