Skip to content

Loading…

Check and translate errors/exceptions displayed on screen or returned in API calls #1351

Closed
halfdan opened this Issue · 35 comments

4 participants

@halfdan
Piwik Open Source Analytics member

I saw that core/Access.php has lots of strings that are not getting translated. This should be fixed.
Keywords: translation

@robocoder

Yes, lots of exception string messages to translate...

@mattab
Piwik Open Source Analytics member

Yeah let's rename this ticket to include all Exception or error messages (displayed to the user screen) yet to be translated.

@JulienMoumne
Piwik Open Source Analytics member

I propose to do it file by file. Here is core/API/Proxy.php

@JulienMoumne
Piwik Open Source Analytics member

Attachment:
core.API.Proxy.patch

@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member

Please advise on message key string for exception /core/Archive/Array/IndexedBySite.php#111 :

throw new Exception("Piwik_Archive_Array_IndexedBySite::getDataTableFromNumeric() algorithm won't work if data is stored in different tables");
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member

do not consider file core.DataTable.Renderer.2.patch

@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member

Attachment:
core.Period.Day.patch

@JulienMoumne
Piwik Open Source Analytics member

Attachment:
core.Period.patch

@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member

Please advise on message key string for exceptions :

/core/SmartyPlugins/function.loadJavascriptTranslations.php#37 :

throw new Exception("The smarty function loadJavascriptTranslations needs a 'plugins' parameter.");

/core/SmartyPlugins/function.postEvent.php#34 :

throw new Exception("The smarty function postEvent needs a 'name' parameter.");

/core/SmartyPlugins/modifier.money.php#22 :

throw new Exception('the smarty modifier money expects one parameter: the idSite.');
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member
@mattab
Piwik Open Source Analytics member

Julien, thanks for the patches - can you please submit one patch that contains all changes?

Otherwise, there are many exception messages that don't need to be translated, as they are never displayed on screen (or when they are, this is not an expected error and it doesn't need to be translated).

Example of exceptions that should never display on user screen (unless a plugin is buggy, or something else went very wrong) and therefore don't need to be translated:

  • 'General_ExceptionInvalidInputDate'
  • 'General_ExceptionSubtableAlreadyAssociated'
  • 'General_ExceptionRSSFeedInvalidDataTable'
  • 'General_ExceptionIDArchiveNull'
  • 'General_ExceptionInvalidAPI'
  • etc. Also I didn't find General_ExceptionMysqliCharsetFailed in the code?

Basically all exceptions that we translate should not mention 'code specific' issues and should let the user know, in non technical terms, what the error is and why it happened. Let me know if that makes sense

@mattab
Piwik Open Source Analytics member

Replying to JulienM:

Please advise on message key string for exceptions :

/core/SmartyPlugins/function.loadJavascriptTranslations.php#37 :

throw new Exception("The smarty function loadJavascriptTranslations needs a 'plugins' parameter.");

/core/SmartyPlugins/function.postEvent.php#34 :

throw new Exception("The smarty function postEvent needs a 'name' parameter.");

/core/SmartyPlugins/modifier.money.php#22 :

throw new Exception('the smarty modifier money expects one parameter: the idSite.');

these strings don't need to be translated as they would not appear on screen except during the development of a plugin (and in this case, it's OK to show english to the dev)

@JulienMoumne
Piwik Open Source Analytics member

Patch 1351.patch externalizes exceptions marked in translated-exceptions.html

@JulienMoumne
Piwik Open Source Analytics member
@JulienMoumne
Piwik Open Source Analytics member

Attachment:
1351.patch

@JulienMoumne
Piwik Open Source Analytics member
@mattab
Piwik Open Source Analytics member

(In [2246]) Fixes #1351 All error messages displayed to screen/API should not be translated. Thanks JulienM for patch!

I simply refactored the 'you must be have %s access [...]' messages by putting the admin/view/superuser as a parameter in the string

@halfdan halfdan added this to the Piwik 0.6.3 milestone
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.