Welcome to the community and congrats on your plugin!
I’m sorry but I have to ask a dumb question. There’s already a well-maintained Chinese localization plugin in the Marketplace. What’s the difference from a user perspective between it and yours?
Also, so you know, I’ll be out of pocket for the beginning of next week and probably catching up for the end, so it will be a while before I get back to you on this topic.
Traditional Chinese is used by the people in Taiwan, Hong Kong, Macau and overseas Chinese communities. The already existing Chinese localization plugin contains Simplified Chinese used in China, Singapore and Malaysia.
In Taiwan, there are many companies and developers like and use SonarQube, so I created a Traditional Chinese Language Pack for SonarQube.
HI, Ann,
I had asked this question serveral years ago. SonarQube team answered that sonarQube didn’t support zh_CN (Language,Culture)_(Region), The only support l10n format is zh (Language, Culture).
My first commit is sonar-l10n-plugin-zh_CN.jar, then I change the file name to sonar-l10n-plugin-zh.jar.
Does SonarQube support the ‘zh_CN’ format l10n right now?
To be transparent on this, I’m holding off on moving forward with this plugin until I have an answer to @xuhuisheng’s excellent question. The evaluation step for a i18n plugin is super-simple, so depending on the answer this could move quite quickly after that.
Thank you for your reply and also thanks to xuhuisheng’s effort on the Simplified Chinese Language plugin.
Hope SonarQube can support the Traditional Chinese Language later.
TLDR;
I’ve requested changes to the PR. Other than that it looks good except that I would like to see a small change to the plugin description before I add the plugin to the marketplace.
After a little internal investigation, we’ve learned this:
The backend API is designed to support the official bcp47 standard : https://tools.ietf.org/html/bcp47. The internal representation is the Java class Locale, which is compliant with this standard. We then look for a translation file matching the locale.
But tests show that the API can only find the (Language,Culture) part. The region is ignored. Looks like a bug.
The plugin proposed is working because it provides both core_zh.properties and core_zh_tw.properties files. They are identical, and the zh_tw file is ignored.
So first the “Looks like a bug” part: I sense no enthusiasm on our side to pursue this. So let’s not hold our collective breath.
Next I asked myself if this was a breaking / blocker bug. What happens if I have both l10n-zh plugins installed? I found that the server loaded fine and web pages were rendered as expected. So then I turned on localization in my browser. I got this:
You guys will have to tell me which version I’m looking at.
So! Since there’s no apparent conflict (probably just first-loaded-wins) between this new plugin and the extant one, I don’t see a barrier to Marketplace entry. However, since this comes down to the user being careful about which l10n plugin she chooses, I request @Tim that you update your plugin description to reflect that it is not compatible with the “Chinese Pack” (that’s the description that shows up in the Marketplace), re-release, and update your PR accordingly. Feel free to expand on the incompatibility in your documentation. Or not. @xuhuisheng, whether or not you want to add a note about not being compatible with your plugin is up to you, since you got here first.
And thanks to both of you for your continued efforts to bring SonarQube to a wider audience!
This is a Simplified Chinese version. I think it might be first-loaded-wins.
I have updated the plugin description to reflect that it is not compatible with the “Chinese Pack”, re-release and update the PR accordingly.
Please see if there are any problems. Thank you.
Your PR updates caught me before I left. I approved & merged, but it seems that your URLs were both wrong. Shame on me for not checking them. I’ve updated and now the publish job succeeds. So…
Congrats, you’re in!
And please double-check next time. I certainly will.