I quite happy that I grew from a translation editor and PTE to Arabic GTE and language manager in the WordPress ecosystem. I have been working hard as a translation contributor for the Arabic locale for around 1 year. When I applied the Arabic language team was semi-dormant, nearly all my l10n contributions were not validated, fortunately my request to be a GTE was accepted.
I am enjoying the experience as I have in fact been happy to see that some managers whether in the polyglot team or core-test team are particularly active and helpful. They are responsive and even get in touch with me during the weekend, they rekindled my enthusiasm for FOSS and WordPress. These managers are also mentors and guiding me towards a more impactful contributions.
How I became a GTE
First of all I take my FOSS contribution seriously, even though it is volunteer work, I offer the best work possible and I keep fine tuning my l10n process.
I have been building and maintaining a glossary for WordPress terminology. Moreover, improved my workflow using AI as well. This sped up my l10n work.
You can see my GTE request in the following link here
And my simple tip to speed up l10n task on WordPress.
Working on automation and scripting
I studied and working on regex and grep for this purpose.
This basic command finds all uses of WordPress translation functions, to find any i18n issue:
grep -r "__|_e|_x|_ex|_n|_nx" . --include=*.php --exclude-dir={vendor,node_modules,.git}
This essential command detects hardcoded strings output via echo that should likely be translatable:
grep -rn "echo\s['\"][^'\";][a-zA-Z]" . --include=*.php --exclude-dir={vendor,node_modules,.git} > i18n_issues.txt
This will create a .txt file with potential i18n issues with the name of the file and line of the hardcoded strings. It will display the lines of the detected potential issues.
Using VScode task
First we should change this:
grep -rn "echo\s['\"][^'\";][a-zA-Z]" . --include=*.php --exclude-dir={vendor,node_modules,.git} > i18n_issues.txt
to this:
grep -rn \"echo\s['\\"][^'\\";][a-zA-Z]\" . --include=*.php --exclude-dir=vendor --exclude-dir=node_modules --exclude-dir=.git > i18nvs_issues.txt
As:
You must escape the inner double quotes with backslashes so JSON treats them as part of the command, not the end of the command.
However, the “Best Practice” Fix (Using Args)
VS Code tasks work best when you separate the command from its arguments. This prevents “Quote Hell” and is much more reliable across different operating systems.
{
"version": "2.0.0",
"tasks": [
{
"label": "Audit i18n",
"type": "shell",
"command": "grep",
"args": [
"-rn",
"\"echo\\\\s*['\\\"][^'\\\";]*[a-zA-Z]\"",
".",
"--include=*.php",
"--exclude-dir=vendor",
"--exclude-dir=node_modules",
"--exclude-dir=.git",
"|",
"tee",
"i18vsc02_issues.txt"
],
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
}
]
}
We could get deeper with automation adding the following:
wp i18n make-pot []
This commands scans the project files (.php, .js etc) for translatable strings and generate a .pot file.
The PHP linting command:
find -name '*.php' -type f -exec -l '{}' \;
As used in wpvip an Automattic project.
A PHP online book
As recommended by a wp core-test team manager I read PHP: the right way online book. It is not a a long ebook, it is 100% free and always updated.
I use koofr browser extension to save important text, even take screenshots and revise and check later. This extension is useful to bookmark your progress in you are reading a long text or a book as mentioned above.
WordPress courses
Just less than 2 months ago I discovered there are free online WP courses on an official WP subdomain. I was glad and I finished 3 courses and working on finishing a 4th course.
The courses I finish get displayed on my profile as you can see here:

Conclusion
Learning essential grep, bash, php, and taking WordPress courses is a fun and a nurturing experience. However, when contributing to core-test I understood that what I lack the most is a knowledge about the architecture of WP and deep technical knowledge related to WP.
WP is made of many projects and components, there are even components maintainer who have specialized knowledge and skills about one or two components only.
As they say start small grow big, I will keep doing what I started and get more knowledge about FSE such as block, patterns… reading official documentations and experimenting.



