Rune Caster 1.0.0
Modern C++ Text Processing Framework
Loading...
Searching...
No Matches
language.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <string_view>
5
13
14namespace rune_caster {
15
23namespace language {
24
83
100 double confidence;
101 size_t char_count;
102
110 double conf = 0.0,
111 size_t count = 0) noexcept
112 : language(lang), confidence(conf), char_count(count) {}
113};
114
127constexpr std::string_view to_string(Code code) noexcept {
128 switch (code) {
129 case Code::Korean: return "ko-KR";
130 case Code::English: return "en-US";
131 case Code::Japanese: return "ja-JP";
132 case Code::Chinese: return "zh-CN";
133 case Code::Arabic: return "ar";
134 case Code::Russian: return "ru";
135 case Code::Spanish: return "es";
136 case Code::French: return "fr";
137 case Code::German: return "de";
138 case Code::Italian: return "it";
139 case Code::Portuguese: return "pt";
140 case Code::Dutch: return "nl";
141 case Code::Swedish: return "sv";
142 case Code::Norwegian: return "no";
143 case Code::Danish: return "da";
144 case Code::Finnish: return "fi";
145 case Code::Polish: return "pl";
146 case Code::Czech: return "cs";
147 case Code::Hungarian: return "hu";
148 case Code::Turkish: return "tr";
149 case Code::Hebrew: return "he";
150 case Code::Thai: return "th";
151 case Code::Vietnamese: return "vi";
152 case Code::Indonesian: return "id";
153 case Code::Malay: return "ms";
154 case Code::Hindi: return "hi";
155 case Code::Bengali: return "bn";
156 case Code::Tamil: return "ta";
157 case Code::Telugu: return "te";
158 case Code::Gujarati: return "gu";
159 case Code::Marathi: return "mr";
160 case Code::Punjabi: return "pa";
161 case Code::Urdu: return "ur";
162 case Code::Persian: return "fa";
163 case Code::Pashto: return "ps";
164 case Code::Kurdish: return "ku";
165 default: return "unknown";
166 }
167}
168
181constexpr std::string_view get_name(Code code) noexcept {
182 switch (code) {
183 case Code::Korean: return "Korean";
184 case Code::English: return "English";
185 case Code::Japanese: return "Japanese";
186 case Code::Chinese: return "Chinese";
187 case Code::Arabic: return "Arabic";
188 case Code::Russian: return "Russian";
189 case Code::Spanish: return "Spanish";
190 case Code::French: return "French";
191 case Code::German: return "German";
192 case Code::Italian: return "Italian";
193 case Code::Portuguese: return "Portuguese";
194 case Code::Dutch: return "Dutch";
195 case Code::Swedish: return "Swedish";
196 case Code::Norwegian: return "Norwegian";
197 case Code::Danish: return "Danish";
198 case Code::Finnish: return "Finnish";
199 case Code::Polish: return "Polish";
200 case Code::Czech: return "Czech";
201 case Code::Hungarian: return "Hungarian";
202 case Code::Turkish: return "Turkish";
203 case Code::Hebrew: return "Hebrew";
204 case Code::Thai: return "Thai";
205 case Code::Vietnamese: return "Vietnamese";
206 case Code::Indonesian: return "Indonesian";
207 case Code::Malay: return "Malay";
208 case Code::Hindi: return "Hindi";
209 case Code::Bengali: return "Bengali";
210 case Code::Tamil: return "Tamil";
211 case Code::Telugu: return "Telugu";
212 case Code::Gujarati: return "Gujarati";
213 case Code::Marathi: return "Marathi";
214 case Code::Punjabi: return "Punjabi";
215 case Code::Urdu: return "Urdu";
216 case Code::Persian: return "Persian";
217 case Code::Pashto: return "Pashto";
218 case Code::Kurdish: return "Kurdish";
219 default: return "Unknown";
220 }
221}
222
223} // namespace language
224} // namespace rune_caster
Language detection and identification functionality.
Definition concepts.hpp:15
Code
Enumeration of supported language codes.
Definition language.hpp:43
@ Telugu
తెలుగు (te) - Telugu
Definition language.hpp:73
@ Arabic
العربية (ar) - Arabic
Definition language.hpp:49
@ Portuguese
Português (pt) - Portuguese.
Definition language.hpp:55
@ Chinese
中文 (zh-CN) - Chinese (Simplified)
Definition language.hpp:48
@ Swedish
Svenska (sv) - Swedish.
Definition language.hpp:57
@ Thai
ไทย (th) - Thai
Definition language.hpp:66
@ Hindi
हिन्दी (hi) - Hindi
Definition language.hpp:70
@ Italian
Italiano (it) - Italian.
Definition language.hpp:54
@ Marathi
मराठी (mr) - Marathi
Definition language.hpp:75
@ Dutch
Nederlands (nl) - Dutch.
Definition language.hpp:56
@ Max
Sentinel value for enumeration bounds.
Definition language.hpp:81
@ Pashto
پښتو (ps) - Pashto
Definition language.hpp:79
@ English
English (en-US) - English.
Definition language.hpp:46
@ Vietnamese
Tiếng Việt (vi) - Vietnamese.
Definition language.hpp:67
@ Hungarian
Magyar (hu) - Hungarian.
Definition language.hpp:63
@ Danish
Dansk (da) - Danish.
Definition language.hpp:59
@ Persian
فارسی (fa) - Persian/Farsi
Definition language.hpp:78
@ Czech
Čeština (cs) - Czech.
Definition language.hpp:62
@ German
Deutsch (de) - German.
Definition language.hpp:53
@ Unknown
Unknown or undetected language.
Definition language.hpp:44
@ Finnish
Suomi (fi) - Finnish.
Definition language.hpp:60
@ Bengali
বাংলা (bn) - Bengali
Definition language.hpp:71
@ French
Français (fr) - French.
Definition language.hpp:52
@ Punjabi
ਪੰਜਾਬੀ (pa) - Punjabi
Definition language.hpp:76
@ Turkish
Türkçe (tr) - Turkish.
Definition language.hpp:64
@ Hebrew
עברית (he) - Hebrew
Definition language.hpp:65
@ Polish
Polski (pl) - Polish.
Definition language.hpp:61
@ Spanish
Español (es) - Spanish.
Definition language.hpp:51
@ Indonesian
Bahasa Indonesia (id) - Indonesian.
Definition language.hpp:68
@ Korean
한국어 (ko-KR) - Korean
Definition language.hpp:45
@ Gujarati
ગુજરાતી (gu) - Gujarati
Definition language.hpp:74
@ Norwegian
Norsk (no) - Norwegian.
Definition language.hpp:58
@ Russian
Русский (ru) - Russian.
Definition language.hpp:50
@ Tamil
தமிழ் (ta) - Tamil
Definition language.hpp:72
@ Japanese
日本語 (ja-JP) - Japanese
Definition language.hpp:47
@ Kurdish
کوردی (ku) - Kurdish
Definition language.hpp:80
@ Urdu
اردو (ur) - Urdu
Definition language.hpp:77
@ Malay
Bahasa Melayu (ms) - Malay.
Definition language.hpp:69
constexpr std::string_view to_string(Code code) noexcept
Convert language code to ISO 639-1 string representation.
Definition language.hpp:127
constexpr std::string_view get_name(Code code) noexcept
Get the human-readable name of a language.
Definition language.hpp:181
Code language
Detected language code.
Definition language.hpp:99
double confidence
Confidence score (0.0 to 1.0)
Definition language.hpp:100
size_t char_count
Number of characters analyzed.
Definition language.hpp:101
constexpr DetectionResult(Code lang=Code::Unknown, double conf=0.0, size_t count=0) noexcept
Construct a detection result.
Definition language.hpp:109