Support

Akeeba Ticket System

#39198 Translations

Posted in ‘Akeeba Ticket System for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
4.3.3
PHP version
8.x
Akeeba Ticket System version
5.2.8 Stable

Latest post by nicholas on Friday, 14 July 2023 07:55 CDT

FrankVo

Hi

 

I understand that ATS has no translations. In my case for Dutch.

Of course I can change .ini files but I spend a lot of time finding all labels in the correct .ini files. And some labels are not available in the ini files.

So, can you give me a path to all transaltiosn for all labels for the forms.

nicholas
Akeeba Staff
Manager

We use the standard Joomla! language system and the standard Joomla! language string naming conventions.

The first part of each language string tells you which extension it belongs to. For example COM_FOOBAR_WHAT_EVER tells you it belongs to the component com_foobar, whereas PLG_SYSTEM_EXAMPLE_LBL_SOMETHING tells you it belongs to a plugin (PLG) in the system directory, and the plugin is called example.

ATS reuses language strings between the front– and the back–end of the component instead of duplicating it in both places. If you find a language string in the frontend which does not appear in the frontend language file that's because it's defined in the backend language file.

Very few strings may come from plugins. For example, canned replies are implemented as an editors-xtd plugin which is the only way to add a button to Joomla's HTML editor. All automation features are implemented as plugins in the ats folder and may print messages using their own language files (albeit these will only appear in logs and CLI output; we avoid having user-facing messages in plugins as much as humanly possible).

Component (backend) in administrator/language/LANGUAGE_CODE

  • com_ats.ini
  • com_ats.sys.ini

Component (frontend) in language/LANGUAGE_CODE

  • com_ats.ini

Plugins (in administrator/language/LANGUAGE_CODE)

  • plg_privacy_ats.ini
  • plg_privacy_ats.sys.ini
  • plg_content_atsshowon.ini
  • plg_content_atsshowon.sys.ini
  • plg_user_ats.ini
  • plg_user_ats.sys.ini
  • plg_finder_tickets.sys.ini
  • plg_finder_tickets.ini
  • plg_actionlog_ats.sys.ini
  • plg_actionlog_ats.ini
  • plg_editors-xtd_atscannedreplies.ini
  • plg_editors-xtd_atscannedreplies.sys.ini
  • plg_fields_sqluser.ini
  • plg_fields_sqluser.sys.ini
  • plg_ats_removeattachments.sys.ini
  • plg_ats_removeattachments.ini
  • plg_ats_autoclose.ini
  • plg_ats_autoclose.sys.ini
  • plg_ats_deletenotes.sys.ini
  • plg_ats_deletenotes.ini
  • plg_ats_autoreply.ini
  • plg_ats_autoreply.sys.ini
  • plg_ats_mailfetch.ini
  • plg_ats_mailfetch.sys.ini
  • plg_console_ats.sys.ini
  • plg_console_ats.ini

Backend modules in administrator/language/LANGUAGE_CODE

  • mod_atsgraphs.ini
  • mod_atsgraphs.sys.ini
  • mod_atsstats.ini
  • mod_atsstats.sys.ini
  • mod_atstickets.ini
  • mod_atstickets.sys.ini

Note that the modules use both the language strings defined in them and the backend language strings of the component itself.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

FrankVo

Sorry to bother you with this but the it is rather confusing. Because I can change the tags now and then, but cannot find them all.

See the difference between the two screenshots.

One is before login and the other one is after login.

Just find i.e. the tag 'User'....but.....where ? In this url Mijn Tichttps://supportdesk4all.nl/mijn-tickets?view=ticket&layout=newticket

Should be found in ini for 'new ticket' ?  but....no.

 

 

nicholas
Akeeba Staff
Manager

Don't get mad at me for answering the question you asked me! Obviously, you asked the wrong question. What you meant to ask is:

“Why can I not find some language keys in the component's language file language/en-GB/com_ats.ini?”

However, I did anticipate that in my reply and I gave you the answer to that question, too! Here is the key to solving your problem:

If you find a language string in the frontend which does not appear in the frontend language file that's because it's defined in the backend language file.

You are looking for "Title" and "Public".

You can't find those language strings in the frontend language file of the component (language/en-GB/com_ats.ini).

No problem.

Look in the backend language file of the component (administrator/language/en-GB/com_ats.ini).

And there you have them.

COM_ATS_TICKETS_LBL_CANNEDREPLY_TITLE_LABEL="User"
COM_ATS_TICKETS_HEADING_PUBLIC="Public"
COM_ATS_TICKETS_PUBLIC_SELECT="– Set Visibility –"
COM_ATS_TICKETS_PUBLIC_PRIVATE="Private"
COM_ATS_TICKETS_PUBLIC_PUBLIC="Public"

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

FrankVo

Hi Nicholas

 

Not one second was my question ment to be offensive. And e-mail is a very flat way to communcate,

After solving te previous issue, I have deep respect for you as developper.

But, I am Dutch :-) and we can be a bit upfront. Although my question wasn't really offensive, I think.

Nevertheless.I did not aspect to look into a backend ini and finding frontend form labels there. But you mentioned it right.

I found all the labels now ?

Thanx a lot

 

Regards

Frank.

nicholas
Akeeba Staff
Manager

Sorry, I forgot that Dutch are direct :) No worries.

Yes, I know that having the labels in the backend might be a bit weird, that's why I mentioned it in the first reply.

There is actually a good reason for that. Most people making a translation will do so by translating entire files (as opposed to using translation software which can identify and auto-translate duplicates).

There's a lot of overlap between the front- and the backend. Remember that the entirety of the ticket page is duplicated in the backend as you need to be able to use the ticket system as both a front- and a backend user. Having the same strings appear twice in the language strings adds a lot of duplicate work to the translators. So, we only created them once.

As to why they are in the backend: happenstance. It just so happens that 12 years ago I started by creating the backend of the component.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!