From d3a2cfb2bc23aa30391919e02b667fb053160b42 Mon Sep 17 00:00:00 2001 From: Jermolene Date: Sat, 26 Aug 2017 23:11:22 +0100 Subject: [PATCH] Move $tw.utils.transliterate() into its own file --- core/modules/utils/transliterate.js | 93 +++++++++++++++++++++++++++++ core/modules/utils/utils.js | 78 ------------------------ 2 files changed, 93 insertions(+), 78 deletions(-) create mode 100644 core/modules/utils/transliterate.js diff --git a/core/modules/utils/transliterate.js b/core/modules/utils/transliterate.js new file mode 100644 index 000000000..64b046bbb --- /dev/null +++ b/core/modules/utils/transliterate.js @@ -0,0 +1,93 @@ +/*\ +title: $:/core/modules/utils/transliterate.js +type: application/javascript +module-type: utils + +Transliteration static utility functions. + +\*/ +(function(){ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +/* +Transliterate string from eg. Cyrillic Russian to Latin +*/ +var transliterationPairs = { + "Ё":"YO", + "Й":"I", + "Ц":"TS", + "У":"U", + "К":"K", + "Е":"E", + "Н":"N", + "Г":"G", + "Ш":"SH", + "Щ":"SCH", + "З":"Z", + "Х":"H", + "Ъ":"'", + "ё":"yo", + "й":"i", + "ц":"ts", + "у":"u", + "к":"k", + "е":"e", + "н":"n", + "г":"g", + "ш":"sh", + "щ":"sch", + "з":"z", + "х":"h", + "ъ":"'", + "Ф":"F", + "Ы":"I", + "В":"V", + "А":"a", + "П":"P", + "Р":"R", + "О":"O", + "Л":"L", + "Д":"D", + "Ж":"ZH", + "Э":"E", + "ф":"f", + "ы":"i", + "в":"v", + "а":"a", + "п":"p", + "р":"r", + "о":"o", + "л":"l", + "д":"d", + "ж":"zh", + "э":"e", + "Я":"Ya", + "Ч":"CH", + "С":"S", + "М":"M", + "И":"I", + "Т":"T", + "Ь":"'", + "Б":"B", + "Ю":"YU", + "я":"ya", + "ч":"ch", + "с":"s", + "м":"m", + "и":"i", + "т":"t", + "ь":"'", + "б":"b", + "ю":"yu" +}; + +exports.transliterate = function(str) { + return str.split("").map(function(char) { + return transliterationPairs[char] || char; + }).join(""); +}; + +})(); diff --git a/core/modules/utils/utils.js b/core/modules/utils/utils.js index 28994af83..742ae9082 100644 --- a/core/modules/utils/utils.js +++ b/core/modules/utils/utils.js @@ -742,82 +742,4 @@ exports.strEndsWith = function(str,ending,position) { } }; -/* -Transliterate string from eg. Cyrillic Russian to Latin -*/ -var transliterationPairs = { - "Ё":"YO", - "Й":"I", - "Ц":"TS", - "У":"U", - "К":"K", - "Е":"E", - "Н":"N", - "Г":"G", - "Ш":"SH", - "Щ":"SCH", - "З":"Z", - "Х":"H", - "Ъ":"'", - "ё":"yo", - "й":"i", - "ц":"ts", - "у":"u", - "к":"k", - "е":"e", - "н":"n", - "г":"g", - "ш":"sh", - "щ":"sch", - "з":"z", - "х":"h", - "ъ":"'", - "Ф":"F", - "Ы":"I", - "В":"V", - "А":"a", - "П":"P", - "Р":"R", - "О":"O", - "Л":"L", - "Д":"D", - "Ж":"ZH", - "Э":"E", - "ф":"f", - "ы":"i", - "в":"v", - "а":"a", - "п":"p", - "р":"r", - "о":"o", - "л":"l", - "д":"d", - "ж":"zh", - "э":"e", - "Я":"Ya", - "Ч":"CH", - "С":"S", - "М":"M", - "И":"I", - "Т":"T", - "Ь":"'", - "Б":"B", - "Ю":"YU", - "я":"ya", - "ч":"ch", - "с":"s", - "м":"m", - "и":"i", - "т":"t", - "ь":"'", - "б":"b", - "ю":"yu" -}; - -exports.transliterate = function(str) { - return str.split("").map(function(char) { - return transliterationPairs[char] || char; - }).join(""); -}; - })();