Skip to content

Commit f8a2e4b

Browse files
committed
docs: update readme
1 parent cb2cd3b commit f8a2e4b

File tree

1 file changed

+136
-49
lines changed

1 file changed

+136
-49
lines changed

README.md

Lines changed: 136 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# i18n Inflector
1+
# i18n_inflector
22

33
[![Documentation](https://docs.rs/i18n_inflector/badge.svg)](https://docs.rs/i18n_inflector)
44
[![Code Coverage](https://codecov.io/gh/theseus-rs/i18n-inflector/branch/main/graph/badge.svg)](https://codecov.io/gh/theseus-rs/i18n-inflector)
@@ -10,67 +10,154 @@ i18n_inflector is a Rust crate that provides a comprehensive set of inflection r
1010
you to easily convert words between different forms (e.g., singular to plural, plural to singular) in an
1111
internationalized context.
1212

13-
## Getting Started
14-
15-
Add `i18n_inflector` to your `Cargo.toml`:
16-
17-
```toml
18-
[dependencies]
19-
i18n_inflector = "0.1"
20-
```
21-
22-
### Usage
13+
## Example
2314

2415
```rust
2516
use i18n_inflector::{singularize, pluralize};
2617

27-
// English
18+
// Singularize
2819
assert_eq!(singularize("en", "users").unwrap(), "user");
29-
assert_eq!(singularize("en", "categories").unwrap(), "category");
20+
assert_eq!(singularize("es", "ciudades").unwrap(), "ciudad");
3021

22+
// Pluralize
3123
let plurals = pluralize("en", "user").unwrap();
3224
assert!(plurals.contains(&"users".to_string()));
3325

34-
// Spanish
35-
assert_eq!(singularize("es", "ciudades").unwrap(), "ciudad");
36-
37-
// French
38-
assert_eq!(singularize("fr", "journaux").unwrap(), "journal");
39-
40-
// Japanese (no morphological plural)
41-
assert_eq!(singularize("ja", "user").unwrap(), "user");
42-
4326
// Unsupported locale returns an error
4427
assert!(singularize("xx", "users").is_err());
4528
```
4629

47-
The first argument is always an ISO 639 two-letter language code. If the locale
48-
is not recognized, English rules are used as a fallback.
49-
50-
### Supported Languages
51-
52-
| Code | Language | Code | Language | Code | Language |
53-
|------|-----------|------|-----------|------|-----------|
54-
| ar | Arabic | ga | Irish | mt | Maltese |
55-
| be | Belarusian| he | Hebrew | nl | Dutch |
56-
| bg | Bulgarian | hi | Hindi | no | Norwegian |
57-
| bn | Bengali | hr | Croatian | pl | Polish |
58-
| cs | Czech | hu | Hungarian | pt | Portuguese|
59-
| da | Danish | is | Icelandic | ro | Romanian |
60-
| de | German | it | Italian | ru | Russian |
61-
| el | Greek | ja | Japanese | sk | Slovak |
62-
| en | English | jv | Javanese | sl | Slovenian |
63-
| es | Spanish | ka | Georgian | sq | Albanian |
64-
| et | Estonian | ko | Korean | sr | Serbian |
65-
| fi | Finnish | lt | Lithuanian| sv | Swedish |
66-
| fr | French | lv | Latvian | th | Thai |
67-
| tr | Turkish | uk | Ukrainian | vi | Vietnamese|
68-
| mk | Macedonian| ms | Malay | yi | Yiddish |
69-
| zh | Chinese | | | | |
70-
71-
See the [`examples/basic_usage`](examples/basic_usage) directory for a
72-
runnable example.
73-
30+
## Supported Languages
31+
32+
The following ISO 639-1 language codes are supported:
33+
34+
| Code | Language |
35+
|------|-------------------|
36+
| af | Afrikaans |
37+
| am | Amharic |
38+
| an | Aragonese |
39+
| ar | Arabic |
40+
| as | Assamese |
41+
| az | Azerbaijani |
42+
| be | Belarusian |
43+
| bg | Bulgarian |
44+
| bn | Bengali |
45+
| bo | Tibetan |
46+
| br | Breton |
47+
| bs | Bosnian |
48+
| ca | Catalan |
49+
| co | Corsican |
50+
| cs | Czech |
51+
| cy | Welsh |
52+
| da | Danish |
53+
| de | German |
54+
| el | Greek |
55+
| en | English |
56+
| eo | Esperanto |
57+
| es | Spanish |
58+
| et | Estonian |
59+
| eu | Basque |
60+
| fa | Persian |
61+
| fi | Finnish |
62+
| fo | Faroese |
63+
| fr | French |
64+
| fy | Western Frisian |
65+
| ga | Irish |
66+
| gd | Scottish Gaelic |
67+
| gl | Galician |
68+
| gu | Gujarati |
69+
| gv | Manx |
70+
| ha | Hausa |
71+
| he | Hebrew |
72+
| hi | Hindi |
73+
| hr | Croatian |
74+
| ht | Haitian Creole |
75+
| hu | Hungarian |
76+
| hy | Armenian |
77+
| id | Indonesian |
78+
| ig | Igbo |
79+
| is | Icelandic |
80+
| it | Italian |
81+
| ja | Japanese |
82+
| jv | Javanese |
83+
| ka | Georgian |
84+
| kk | Kazakh |
85+
| km | Khmer |
86+
| kn | Kannada |
87+
| ko | Korean |
88+
| ku | Kurdish |
89+
| kw | Cornish |
90+
| ky | Kyrgyz |
91+
| la | Latin |
92+
| lb | Luxembourgish |
93+
| lo | Lao |
94+
| lt | Lithuanian |
95+
| lv | Latvian |
96+
| mg | Malagasy |
97+
| mi | Māori |
98+
| mk | Macedonian |
99+
| ml | Malayalam |
100+
| mn | Mongolian |
101+
| mr | Marathi |
102+
| ms | Malay |
103+
| mt | Maltese |
104+
| my | Burmese |
105+
| nb | Norwegian Bokmål |
106+
| nd | Northern Ndebele |
107+
| ne | Nepali |
108+
| nl | Dutch |
109+
| nn | Norwegian Nynorsk |
110+
| no | Norwegian |
111+
| nr | Southern Ndebele |
112+
| oc | Occitan |
113+
| or | Odia |
114+
| pa | Punjabi |
115+
| pl | Polish |
116+
| ps | Pashto |
117+
| pt | Portuguese |
118+
| qu | Quechua |
119+
| rm | Romansh |
120+
| ro | Romanian |
121+
| ru | Russian |
122+
| rw | Kinyarwanda |
123+
| sc | Sardinian |
124+
| sd | Sindhi |
125+
| si | Sinhala |
126+
| sk | Slovak |
127+
| sl | Slovenian |
128+
| sm | Samoan |
129+
| sn | Shona |
130+
| so | Somali |
131+
| sq | Albanian |
132+
| sr | Serbian |
133+
| ss | Swati |
134+
| st | Southern Sotho |
135+
| su | Sundanese |
136+
| sv | Swedish |
137+
| sw | Swahili |
138+
| ta | Tamil |
139+
| te | Telugu |
140+
| tg | Tajik |
141+
| th | Thai |
142+
| ti | Tigrinya |
143+
| tk | Turkmen |
144+
| tl | Tagalog |
145+
| tn | Tswana |
146+
| tr | Turkish |
147+
| ts | Tsonga |
148+
| tt | Tatar |
149+
| ug | Uyghur |
150+
| uk | Ukrainian |
151+
| ur | Urdu |
152+
| uz | Uzbek |
153+
| ve | Venda |
154+
| vi | Vietnamese |
155+
| wo | Wolof |
156+
| xh | Xhosa |
157+
| yi | Yiddish |
158+
| yo | Yoruba |
159+
| zh | Chinese |
160+
| zu | Zulu |
74161

75162
## License
76163

0 commit comments

Comments
 (0)