Comments (3)
This should be taken care of in 1fe234a. Basic testing showed duplicates were removed by simply parsing the POT file with a node gettext parser, then recompiling and saving the file.
I'll go ahead and close this out and push an update.
Thanks for the feedback @tollmanz. I hadn't considered the possibility of removing these dependencies beforehand, but like you said, it should exponentially improve the usability.
from grunt-wp-i18n.
For the sake of plugins and themes, it appears that the msguniq utility is the only dependency. It removes duplicate messages from POT files, which are invalid input for some other utilities. This looks like it typically only happens for some of the headers that WordPress appends after extracting gettexted strings.
The POT file will still be generated if msguniq isn't available, but a notice will be displayed and any duplicate strings will still exist.
I've searched for a node-based implementation of msguniq, but didn't have much luck. It might be as simple using a node parser to load the pot file, weed out the duplicates and re-save the file.
The other option is to bundle the msguniq binary with this package, but I'm not sure what the ramifications of that would be at the moment.
from grunt-wp-i18n.
Dude...dude! This is amazing! I really thought that this was a stretch goal and you pull it off in less than 24 hours. Amazing!
I'm going to put this task through the paces later this week. Thanks for the great work.
from grunt-wp-i18n.
Related Issues (20)
- Ignore certain domain (e.g. via an options.dontUpdateDomains) HOT 12
- Warning: Cannot read property 'split' of undefined HOT 6
- Exclude page templates HOT 3
- "updateTimestamp: false" is not working properly HOT 3
- Exclude doesn't included in .pot file HOT 2
- Send modified files to build path only HOT 2
- Not Working on Windows ver > 8
- Good way to eliminate duplicates in pot file HOT 8
- Running "makepot" task keeps running forever HOT 4
- update node-wp-i18n to v1.0.5 HOT 1
- updateTimestamp: false not working HOT 8
- Detecting msgid stored in variable HOT 1
- Warning: Cannot read property 'pot-creation-date' of undefined Use --force to continue. HOT 1
- POT File by text domain HOT 2
- Switch to using `wp i18n make-pot` HOT 6
- Makepot supports for monorepo plugins HOT 1
- Addtextdomain throws error HOT 1
- Better output when makepot fails due to missing PHP cli
- Warnings when running on PHP 8 HOT 2
- Duplicate text domains added where text domain already exists HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grunt-wp-i18n.