Crates.io | csvlm |
lib.rs | csvlm |
version | 0.1.4 |
source | src |
created_at | 2017-01-22 08:37:47.823622 |
updated_at | 2017-01-22 15:04:43.491329 |
description | Language management through CSV tables |
homepage | |
repository | https://github.com/luki/language-parser-csv |
max_upload_size | |
id | 8164 |
size | 7,045 |
Manage multiple languages through CSV tables.
Links:
In this walkthrough, we'll be using Google Sheets as a tool.
As you can see, a table with IDs in the first column, and languages in the first row should be created. This should be relatively easy to comprehend.
[dependencies]
// Assign latest version (Might not be the one saying)
csvlm = "0.1.3"
use csvlm::Manager;
### Step 4 - Create Manager & Parse
Now we need a manager that parses the information for us
```Rust
// The parameters are directory, filename & extension
// My file is located outside of the project
let mut manag = Manager::new("..", "test_table", ".txt");
// Then parse the file assigned
manag.parse();
// (Code continues from earlier)
// Set your default language with any available language id
m.set_def(0);
// Get language reference & vector of word references as a tuple
let (lang, word_vec) = m.get_def();
id: i32,
name: String
// Initalizer
fn new(id: i32, name: &str) -> Language { /* ... */ }
id: i32,
lang_id: i32,
val: String
// Initalizer
fn new(id: i32, lang_id: i32, val: &str) -> Word { /* ... */ }
file: File,
langs: Vec<Language>,
words: Vec<Word>,
def_lang: i32
// Initalizer
fn new(direc: &str, name: &str, ext: &str) -> Manager { /* ... */ }
// Further methods
// Parses languages & words into manager model
fn parse() { /* ... */ }
// Sets default language by language id
fn set_def(lang_id: i32) { /* ... */ }
// Returns reference to set def. language & vector of references to words of language
fn get_def() -> (&Language, Vec<&Word>) { /* ... */ }