Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

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

Closed
halfdan opened this Issue · 35 comments

4 participants

Fabian Becker Julien Moumné Anthon Pang Matthieu Aubry
Fabian Becker
Collaborator

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

Anthon Pang
Collaborator

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

Matthieu Aubry
Owner

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

Julien Moumné
Collaborator

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

Julien Moumné
Collaborator

Attachment:
core.API.Proxy.patch

Julien Moumné
Collaborator
Julien Moumné
Collaborator

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");
Julien Moumné
Collaborator
Julien Moumné
Collaborator
Julien Moumné
Collaborator
Julien Moumné
Collaborator
Julien Moumné
Collaborator

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

Julien Moumné
Collaborator
Julien Moumné
Collaborator

Attachment:
core.Period.Day.patch

Julien Moumné
Collaborator

Attachment:
core.Period.patch

Julien Moumné
Collaborator
Julien Moumné
Collaborator

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.');
Julien Moumné
Collaborator
Julien Moumné
Collaborator
Julien Moumné
Collaborator
Julien Moumné
Collaborator
Julien Moumné
Collaborator
Julien Moumné
Collaborator
Matthieu Aubry
Owner

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

Matthieu Aubry
Owner

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)

Julien Moumné
Collaborator

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

Julien Moumné
Collaborator
Julien Moumné
Collaborator

Attachment:
1351.patch

Julien Moumné
Collaborator
Matthieu Aubry
Owner

(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

Fabian Becker 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.