Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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

@halfdan
Collaborator

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
Owner

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

@JulienMoumne
Collaborator

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

@JulienMoumne
Collaborator

Attachment:
core.API.Proxy.patch

@JulienMoumne
Collaborator
@JulienMoumne
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");
@JulienMoumne
Collaborator
@JulienMoumne
Collaborator
@JulienMoumne
Collaborator
@JulienMoumne
Collaborator
@JulienMoumne
Collaborator

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

@JulienMoumne
Collaborator
@JulienMoumne
Collaborator

Attachment:
core.Period.Day.patch

@JulienMoumne
Collaborator

Attachment:
core.Period.patch

@JulienMoumne
Collaborator
@JulienMoumne
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.');
@JulienMoumne
Collaborator
@JulienMoumne
Collaborator
@JulienMoumne
Collaborator
@JulienMoumne
Collaborator
@JulienMoumne
Collaborator
@JulienMoumne
Collaborator
@mattab
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

@mattab
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)

@JulienMoumne
Collaborator

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

@JulienMoumne
Collaborator
@JulienMoumne
Collaborator

Attachment:
1351.patch

@JulienMoumne
Collaborator
@mattab
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

@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.