Comments (3)
Hey Katafractari!
That's awesome :)
This is very timely - I actually just implemented support for this feature in 2.0-SNAPSHOT. You can see the details of how this works in the link below. It's currently not the nicest API, because there isn't much done to simplify things (you can't simplify much when you are dealing with complex grammar rules.
Take a look:
https://github.com/ocpsoft/prettytime/blob/master/src/test/java/org/ocpsoft/pretty/time/i18n/TimeFormatProviderTest.java
https://github.com/ocpsoft/prettytime/blob/master/src/test/java/org/ocpsoft/pretty/time/i18n/Resources_xx.java
You'll need to make sure that your Resources_SL?.java bundle implements TimeFormatProvider, then for each time unit (look in the org.ocpsoft.pretty.time.units package, you'll need to either make sure that unit has Resource keys configured - like most other bundles - or return a TimeFormat for that Unit in the getFormatFor(TimeUnit t) method. You may want to set up some convenience methods to make this simpler if you plan on implementing many time formats. Or you could simply create a class extending from TimeFormat that knows about the rules you need, and pass in the right inputs for each time-unit.
What do you think?
This is a new API so I'm interested in feedback! (I'm always interested in feedback!)
~Lincoln
from prettytime.
Thanks for a quick reply. That's very nice to hear, I will probably take a look at the API by end of the week. I've just forked the project for now.
Rok
from prettytime.
Excellent, should we close this for now? If the API doesn't do what you need we can re-open it. Otherwise, I'm looking forward to seeing your pull request! Feel free to visit the forums if you have any questions: http://ocpsoft.org/support/
from prettytime.
Related Issues (20)
- Proguard renaming of TimeUnit classes can lead to MissingResourceException: Can't find resource for bundle org.ocpsoft.prettytime.i18n.Resources, key ePattern HOT 3
- All request in JSF are synchronized in the PrettyTimeConverter
- Duration of 60 seconds or less formats as empty string
- DE locale: format(List<Duration>) produces wrong grammatical case HOT 1
- Stabilize unit tests HOT 2
- Crashes on Android after 4.0.5.FINAL => 5.0.3.FINAL HOT 4
- format(List<Duration>) always throws a NullPointerException
- Add reference date to NLP PrettyTimeParser HOT 1
- constructor bug HOT 1
- pass reference to parse function HOT 3
- Weird class HOT 2
- Make use of java.time's ChronoUnit, Duration and Period. HOT 1
- Missing prettytime-parent 5.0.5 maven central HOT 4
- Can not download from pretty-time dependency, "could not find artifact" in IntelliJ Idea HOT 2
- New version HOT 2
- Some languages do not provide time units when formatting a duration HOT 1
- Jakarta JSF integration HOT 8
- Missing module-info.java HOT 9
- Japanese and Finnish locales and proguard HOT 3
- [Dutch] - Just now string is archaic HOT 1
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 prettytime.