Commit 32dc25df authored by Dorota Czaplejewicz's avatar Dorota Czaplejewicz
Browse files

Revert "moved data/langs/he_IL.txt -> data/langs/he-IL.txt to better conform...

Revert "moved data/langs/he_IL.txt -> data/langs/he-IL.txt to better conform with existing translations."

This reverts commit d8ca9f47.

This touches way more than advertised.
parent 484d64cf
Pipeline #66188 passed with stages
in 25 minutes and 34 seconds
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
* This could be done using GResource, but that would need additional work. * This could be done using GResource, but that would need additional work.
*/ */
use ::locale::Translation;
use std::collections::HashMap; use std::collections::HashMap;
use ::locale::Translation;
use std::iter::FromIterator; use std::iter::FromIterator;
...@@ -16,73 +16,75 @@ const KEYBOARDS: &[(*const str, *const str)] = &[ ...@@ -16,73 +16,75 @@ const KEYBOARDS: &[(*const str, *const str)] = &[
// fallback layout. // fallback layout.
("us", include_str!("../data/keyboards/us.yaml")), ("us", include_str!("../data/keyboards/us.yaml")),
("us_wide", include_str!("../data/keyboards/us_wide.yaml")), ("us_wide", include_str!("../data/keyboards/us_wide.yaml")),
// Language layouts: keep alphabetical. // Language layouts: keep alphabetical.
("be", include_str!("../data/keyboards/be.yaml")), ("be", include_str!("../data/keyboards/be.yaml")),
("be_wide", include_str!("../data/keyboards/be_wide.yaml")), ("be_wide", include_str!("../data/keyboards/be_wide.yaml")),
("bg", include_str!("../data/keyboards/bg.yaml")), ("bg", include_str!("../data/keyboards/bg.yaml")),
("br", include_str!("../data/keyboards/br.yaml")), ("br", include_str!("../data/keyboards/br.yaml")),
("de", include_str!("../data/keyboards/de.yaml")), ("de", include_str!("../data/keyboards/de.yaml")),
("de_wide", include_str!("../data/keyboards/de_wide.yaml")), ("de_wide", include_str!("../data/keyboards/de_wide.yaml")),
("cz", include_str!("../data/keyboards/cz.yaml")), ("cz", include_str!("../data/keyboards/cz.yaml")),
("cz_wide", include_str!("../data/keyboards/cz_wide.yaml")), ("cz_wide", include_str!("../data/keyboards/cz_wide.yaml")),
(
"cz+qwerty", ("cz+qwerty", include_str!("../data/keyboards/cz+qwerty.yaml")),
include_str!("../data/keyboards/cz+qwerty.yaml"), ("cz+qwerty_wide", include_str!("../data/keyboards/cz+qwerty_wide.yaml")),
),
(
"cz+qwerty_wide",
include_str!("../data/keyboards/cz+qwerty_wide.yaml"),
),
("dk", include_str!("../data/keyboards/dk.yaml")), ("dk", include_str!("../data/keyboards/dk.yaml")),
("epo", include_str!("../data/keyboards/epo.yaml")), ("epo", include_str!("../data/keyboards/epo.yaml")),
("es", include_str!("../data/keyboards/es.yaml")), ("es", include_str!("../data/keyboards/es.yaml")),
("es+cat", include_str!("../data/keyboards/es+cat.yaml")), ("es+cat", include_str!("../data/keyboards/es+cat.yaml")),
("fi", include_str!("../data/keyboards/fi.yaml")), ("fi", include_str!("../data/keyboards/fi.yaml")),
("fr", include_str!("../data/keyboards/fr.yaml")), ("fr", include_str!("../data/keyboards/fr.yaml")),
("fr_wide", include_str!("../data/keyboards/fr_wide.yaml")), ("fr_wide", include_str!("../data/keyboards/fr_wide.yaml")),
("gr", include_str!("../data/keyboards/gr.yaml")), ("gr", include_str!("../data/keyboards/gr.yaml")),
("il", include_str!("../data/keyboards/il.yaml")), ("il", include_str!("../data/keyboards/il.yaml")),
("ir", include_str!("../data/keyboards/ir.yaml")), ("ir", include_str!("../data/keyboards/ir.yaml")),
("ir_wide", include_str!("../data/keyboards/ir_wide.yaml")), ("ir_wide", include_str!("../data/keyboards/ir_wide.yaml")),
("it", include_str!("../data/keyboards/it.yaml")), ("it", include_str!("../data/keyboards/it.yaml")),
("it+fur", include_str!("../data/keyboards/it+fur.yaml")), ("it+fur", include_str!("../data/keyboards/it+fur.yaml")),
("jp+kana", include_str!("../data/keyboards/jp+kana.yaml")), ("jp+kana", include_str!("../data/keyboards/jp+kana.yaml")),
( ("jp+kana_wide", include_str!("../data/keyboards/jp+kana_wide.yaml")),
"jp+kana_wide",
include_str!("../data/keyboards/jp+kana_wide.yaml"),
),
("no", include_str!("../data/keyboards/no.yaml")), ("no", include_str!("../data/keyboards/no.yaml")),
("pl", include_str!("../data/keyboards/pl.yaml")), ("pl", include_str!("../data/keyboards/pl.yaml")),
("pl_wide", include_str!("../data/keyboards/pl_wide.yaml")), ("pl_wide", include_str!("../data/keyboards/pl_wide.yaml")),
("ru", include_str!("../data/keyboards/ru.yaml")), ("ru", include_str!("../data/keyboards/ru.yaml")),
("se", include_str!("../data/keyboards/se.yaml")), ("se", include_str!("../data/keyboards/se.yaml")),
("th", include_str!("../data/keyboards/th.yaml")), ("th", include_str!("../data/keyboards/th.yaml")),
("th_wide", include_str!("../data/keyboards/th_wide.yaml")), ("th_wide", include_str!("../data/keyboards/th_wide.yaml")),
("ua", include_str!("../data/keyboards/ua.yaml")), ("ua", include_str!("../data/keyboards/ua.yaml")),
(
"us+colemak", ("us+colemak", include_str!("../data/keyboards/us+colemak.yaml")),
include_str!("../data/keyboards/us+colemak.yaml"), ("us+colemak_wide", include_str!("../data/keyboards/us+colemak_wide.yaml")),
),
( ("us+dvorak", include_str!("../data/keyboards/us+dvorak.yaml")),
"us+colemak_wide", ("us+dvorak_wide", include_str!("../data/keyboards/us+dvorak_wide.yaml")),
include_str!("../data/keyboards/us+colemak_wide.yaml"),
),
(
"us+dvorak",
include_str!("../data/keyboards/us+dvorak.yaml"),
),
(
"us+dvorak_wide",
include_str!("../data/keyboards/us+dvorak_wide.yaml"),
),
// Others // Others
("number", include_str!("../data/keyboards/number.yaml")), ("number", include_str!("../data/keyboards/number.yaml")),
// layout+overlay // layout+overlay
("terminal", include_str!("../data/keyboards/terminal.yaml")), ("terminal", include_str!("../data/keyboards/terminal.yaml")),
( ("terminal_wide", include_str!("../data/keyboards/terminal_wide.yaml")),
"terminal_wide",
include_str!("../data/keyboards/terminal_wide.yaml"),
),
// Overlays // Overlays
("emoji", include_str!("../data/keyboards/emoji.yaml")), ("emoji", include_str!("../data/keyboards/emoji.yaml")),
]; ];
...@@ -90,8 +92,7 @@ const KEYBOARDS: &[(*const str, *const str)] = &[ ...@@ -90,8 +92,7 @@ const KEYBOARDS: &[(*const str, *const str)] = &[
pub fn get_keyboard(needle: &str) -> Option<&'static str> { pub fn get_keyboard(needle: &str) -> Option<&'static str> {
// Need to dereference in unsafe code // Need to dereference in unsafe code
// comparing *const str to &str will compare pointers // comparing *const str to &str will compare pointers
KEYBOARDS KEYBOARDS.iter()
.iter()
.find(|(name, _)| { .find(|(name, _)| {
let name: *const str = *name; let name: *const str = *name;
(unsafe { &*name }) == needle (unsafe { &*name }) == needle
...@@ -102,16 +103,17 @@ pub fn get_keyboard(needle: &str) -> Option<&'static str> { ...@@ -102,16 +103,17 @@ pub fn get_keyboard(needle: &str) -> Option<&'static str> {
}) })
} }
const OVERLAY_NAMES: &[*const str] = &["emoji", "terminal"]; const OVERLAY_NAMES: &[*const str] = &[
"emoji",
"terminal",
];
pub fn get_overlays() -> Vec<&'static str> { pub fn get_overlays() -> Vec<&'static str> {
OVERLAY_NAMES OVERLAY_NAMES.iter()
.iter()
.map(|name| { .map(|name| {
let name: *const str = *name; let name: *const str = *name;
unsafe { &*name } unsafe { &*name }
}) }).collect()
.collect()
} }
/// Translations of the layout identifier strings /// Translations of the layout identifier strings
...@@ -120,15 +122,16 @@ const LAYOUT_NAMES: &[(*const str, *const str)] = &[ ...@@ -120,15 +122,16 @@ const LAYOUT_NAMES: &[(*const str, *const str)] = &[
("en-US", include_str!("../data/langs/en-US.txt")), ("en-US", include_str!("../data/langs/en-US.txt")),
("es-ES", include_str!("../data/langs/es-ES.txt")), ("es-ES", include_str!("../data/langs/es-ES.txt")),
("fur-IT", include_str!("../data/langs/fur-IT.txt")), ("fur-IT", include_str!("../data/langs/fur-IT.txt")),
("he-IL", include_str!("../data/langs/he-IL.txt")), ("he-IL", include_str!("../data/langs/he_IL.txt")),
("ja-JP", include_str!("../data/langs/ja-JP.txt")), ("ja-JP", include_str!("../data/langs/ja-JP.txt")),
("pl-PL", include_str!("../data/langs/pl-PL.txt")), ("pl-PL", include_str!("../data/langs/pl-PL.txt")),
("ru-RU", include_str!("../data/langs/ru-RU.txt")), ("ru-RU", include_str!("../data/langs/ru-RU.txt")),
]; ];
pub fn get_layout_names(lang: &str) -> Option<HashMap<&'static str, Translation<'static>>> { pub fn get_layout_names(lang: &str)
let translations = LAYOUT_NAMES -> Option<HashMap<&'static str, Translation<'static>>>
.iter() {
let translations = LAYOUT_NAMES.iter()
.find(|(name, _data)| { .find(|(name, _data)| {
let name: *const str = *name; let name: *const str = *name;
(unsafe { &*name }) == lang (unsafe { &*name }) == lang
...@@ -153,7 +156,10 @@ fn parse_line(line: &str) -> Option<(&str, Translation)> { ...@@ -153,7 +156,10 @@ fn parse_line(line: &str) -> Option<(&str, Translation)> {
} }
fn make_mapping(data: &str) -> HashMap<&str, Translation> { fn make_mapping(data: &str) -> HashMap<&str, Translation> {
HashMap::from_iter(data.split("\n").filter_map(parse_line)) HashMap::from_iter(
data.split("\n")
.filter_map(parse_line)
)
} }
#[cfg(test)] #[cfg(test)]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment