You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Clarify language file naming conventions for guided tours
Add guidelines for extension-specific tour UIDs
Provide examples for Patch Tester extension
Diagram Walkthrough
flowchart LR
A["General Tours"] --> B["guidedtours.*.ini"]
C["Extension Tours"] --> D["com_extension.*.ini"]
C --> E["mod_module.*.ini"]
C --> F["plg_group_plugin.*.ini"]
C --> G["tpl_template.*.ini"]
Mixed use of backticks and single quotes for code-like literals (e.g., file prefixes and UID prefixes). Standardize formatting to backticks for consistency and readability.
All language files need to start with `guidedtours.` and end with `.ini` or `_steps.ini`.
Reminder: the language keys can be anything BUT need to contain GUIDEDTOUR in the key name. This is to allow the tour and step views to properly distinguish what is a language key and what is just regular content.
#### Language files inside an extension
Language files do not need to be placed into administrator/language/[language]/. You can leave the files inside the extension's file structure.
In that case, the tour's uid needs to start with the name of the extension and be followed by the rest of the tour's name.
For instance, use the tour's uid:
`com_patchtester.configuration-part1`
to create a configuration tour (part 1) for the Patch Tester extension.
Tour uids need to start with 'com_extensionname.', 'mod_modulename.', 'plg_[group]_pluginname.' or 'tpl_templatename.' to be recognized properly.
All language files need to start with 'com_extensionname.', 'mod_modulename.', 'plg_[group]_pluginname.' or 'tpl_templatename.', and end with `.ini` or `_steps.ini`.
The UID uses a hyphen 'configuration-part1' while language files use an underscore 'configuration_part1'. Clarify whether hyphen vs underscore differences are intentional and specify the recommendation.
For instance, use the tour's uid:
`com_patchtester.configuration-part1`
to create a configuration tour (part 1) for the Patch Tester extension.
Tour uids need to start with 'com_extensionname.', 'mod_modulename.', 'plg_[group]_pluginname.' or 'tpl_templatename.' to be recognized properly.
All language files need to start with 'com_extensionname.', 'mod_modulename.', 'plg_[group]_pluginname.' or 'tpl_templatename.', and end with `.ini` or `_steps.ini`.
For instance, following the previous example for the Patch Tester extension, we would have:
Earlier rule says language files must start with 'guidedtours.' but extension section suggests starting with extension prefixes like 'com_*'. Clarify precedence and whether extension-scoped tours should still include 'guidedtours.'.
All language files need to start with `guidedtours.` and end with `.ini` or `_steps.ini`.
Reminder: the language keys can be anything BUT need to contain GUIDEDTOUR in the key name. This is to allow the tour and step views to properly distinguish what is a language key and what is just regular content.
#### Language files inside an extension
Language files do not need to be placed into administrator/language/[language]/. You can leave the files inside the extension's file structure.
In that case, the tour's uid needs to start with the name of the extension and be followed by the rest of the tour's name.
For instance, use the tour's uid:
`com_patchtester.configuration-part1`
to create a configuration tour (part 1) for the Patch Tester extension.
Tour uids need to start with 'com_extensionname.', 'mod_modulename.', 'plg_[group]_pluginname.' or 'tpl_templatename.' to be recognized properly.
All language files need to start with 'com_extensionname.', 'mod_modulename.', 'plg_[group]_pluginname.' or 'tpl_templatename.', and end with `.ini` or `_steps.ini`.
For instance, following the previous example for the Patch Tester extension, we would have:
The documentation introduces conflicting rules by saying all language files must start with "guidedtours." while later requiring extension-prefixed filenames and UIDs; clearly separate and standardize the conventions for "general/core" vs "extension-scoped" tours to match the actual loader behavior. Also make the UID and filename examples consistent (hyphen vs underscore, dot placement) and verify they mirror what the system actually discovers, to avoid implementers creating files that won't be recognized.
All language files need to start with `guidedtours.` and end with `.ini` or `_steps.ini`.
Reminder: the language keys can be anything BUT need to contain GUIDEDTOUR in the key name. This is to allow the tour and step views to properly distinguish what is a language key and what is just regular content.
#### Language files inside an extension
Language files do not need to be placed into administrator/language/[language]/. You can leave the files inside the extension's file structure.
In that case, the tour's uid needs to start with the name of the extension and be followed by the rest of the tour's name.
... (clipped 15 lines)
Solution Walkthrough:
Before:
# General rule for ALL files
All language files need to start with `guidedtours.`
...
#### Language files inside an extension# Rule for extension UIDs
Tour uids need to start with 'com_extensionname.', 'mod_modulename.', etc.
Example UID: `com_patchtester.configuration-part1`# Rule for extension files (contradicts general rule)
All language files need to start with 'com_extensionname.', 'mod_modulename.', etc.
Example filename: `com_patchtester.configuration_part1.ini` # (inconsistent with UID example)
After:
#### General Tours
Language files for general tours must start with `guidedtours.`
...
#### Extension-specific Tours# Rule for extension UIDs
Tour uids must start with 'com_extensionname.', 'mod_modulename.', etc.
Example UID: `com_patchtester.configuration-part1`# Rule for extension files
Language files must start with the extension prefix, matching the UID.
Example filename: `com_patchtester.configuration-part1.ini` # (consistent with UID example)
Suggestion importance[1-10]: 9
__
Why: The suggestion correctly identifies a major contradiction in the new documentation regarding file naming conventions and a subtle but important inconsistency in the examples, which undermines the PR's goal of clarification.
High
Possible issue
Clarify naming by storage location
This line contradicts the later "inside an extension" guidance and can lead to misnamed files that won't be detected. Clarify the rule based on where the files are stored to avoid breakage.
-All language files need to start with `guidedtours.` and end with `.ini` or `_steps.ini`.+When stored in the global language folder, tour language files must start with `guidedtours.` and end with `.ini` or `_steps.ini`. When bundled inside an extension, they must start with the extension prefix (`com_extensionname.`, `mod_modulename.`, `plg_[group]_pluginname.`, or `tpl_templatename.`) and end with `.ini` or `_steps.ini`.
Apply / Chat
Suggestion importance[1-10]: 7
__
Why: The suggestion correctly identifies a contradiction between the general rule on line 54 and the extension-specific rule on line 70, improving the documentation's clarity and preventing developer confusion.
Medium
General
Align UID and filename separators
The UID example uses a hyphen while the filename examples use an underscore, which is confusing. Use a consistent separator to prevent implementers from mixing patterns.
For instance, use the tour's uid:
-`com_patchtester.configuration-part1`+`com_patchtester.configuration_part1`
Apply / Chat
Suggestion importance[1-10]: 5
__
Why: The suggestion correctly points out an inconsistency between the UID example (using a hyphen) and the filename example (using an underscore), which could confuse developers. Aligning them improves documentation clarity.
Personally, I would appreciate it if 'guidedtours' were included in the file name.
Example: guidedtours_com_joomgallery.welcome_steps.ini or com_joomgallery_guidedtours_com_joomgallery.welcome_steps.ini
Personally, I would appreciate it if 'guidedtours' were included in the file name. Example: guidedtours_com_joomgallery.welcome_steps.ini or com_joomgallery_guidedtours_com_joomgallery.welcome_steps.ini
@MrMusic we have a meeting tomorrow to address this issue. When I went through the PR again, I realized we could improve this to keep it consistent, so I would anticipate we could also support guidedtours.com_joomgallery.welcome_steps.ini.
This doc is ready, we will eventually propose a more flexible solution but at this time, the additional comments I made are in line with the working code. Thanks Harald @HLeithner
The improvements are not developed yet.
This PR here is for a more detailed explanation on how the translations work as implemented in Joomla as of now.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Type
Documentation
Description
Clarify language file naming conventions for guided tours
Add guidelines for extension-specific tour UIDs
Provide examples for Patch Tester extension
Diagram Walkthrough
File Walkthrough
creating-tours.md
Enhanced guided tours language file documentationdocs/general-concepts/guided-tours/creating-tours.md