File indexing completed on 2024-04-28 17:02:23
0001 #!/usr/bin/ruby18 0002 0003 $dict = [] 0004 0005 def concat_pairs(a, b) 0006 if a.is_a?(String) 0007 a = [a] 0008 end 0009 0010 res = [] 0011 a.each do |a_word| 0012 b.each do |b_word| 0013 res << a_word + b_word 0014 end 0015 end 0016 0017 res 0018 end 0019 0020 def add_metric(name, suffix) 0021 metrix_prefix = [ 0022 'йокто', 'зепто', 'атто', 'фемто', 'пико', 0023 'нано', 'микро', 'милли', 'санти', 'деци', 0024 'дека', 'гекто', 'кило', 'мега', 'гига', 0025 'тера', 'пета', 'экса', 'зетта', 'йотта'] 0026 0027 $dict += concat_pairs(metrix_prefix, concat_pairs(name, suffix)) 0028 end 0029 0030 def add_metric_ab(name) 0031 metrix_prefix = [ 0032 'и', 'з', 'а', 'ф', 'п', 0033 'н', 'мк', 'м', 'с', 'д', 0034 'да', 'г', 'к', 'М', 'Г', 0035 'Т', 'П', 'Э', 'З', 'Й'] 0036 0037 $dict += concat_pairs(metrix_prefix, name) 0038 end 0039 0040 def add_generic(name, suffix) 0041 $dict += concat_pairs(name, suffix) 0042 end 0043 0044 suffix_1 = ['ы', '', 'а', 'ов', 'ах'] 0045 0046 add_generic('лат', suffix_1) 0047 add_generic('лит', suffix_1) 0048 add_generic('ринггит', suffix_1) 0049 add_generic('толар', suffix_1) 0050 add_generic('бат', suffix_1) 0051 add_generic('ранд', suffix_1) 0052 add_generic('вон', ['а', '', 'ы', 'ах']) 0053 add_generic('паундал', ['ь', 'и', 'ей', 'ях']) 0054 add_generic('кун', ['а', '', 'ы', 'ах']) 0055 0056 add_metric('метр', suffix_1) 0057 add_metric('литр', suffix_1) 0058 add_metric('ньютон', suffix_1) 0059 add_metric('джоул', ['ь', 'я', 'ей', 'и', 'ях']) 0060 add_metric('герц', ['ы', 'а', '', 'ах']) 0061 add_metric('грамм', suffix_1) 0062 add_metric('паскал', ['ь', 'я', 'ей', 'ях', 'и']) 0063 add_metric('секунд', ['ы', '', 'а', 'ах']) 0064 add_metric('ватт', ['', 'а', 'ах', 'ы']) # не "ваттов" 0065 add_metric('бар', ['', 'а', 'ы', 'ах']) # не "баров" 0066 0067 add_metric_ab('Дж') 0068 add_metric_ab('Н') # Newton 0069 add_metric_ab('Гц') 0070 add_metric_ab('м') 0071 add_metric_ab('г') 0072 add_metric_ab('Па') 0073 add_metric_ab('Вт') 0074 add_metric_ab('л') 0075 add_metric_ab('с') 0076 add_metric_ab('бар') 0077 0078 # Write the dictionary 0079 File.open('units-generated.aspell', 'w') do |f| 0080 f.puts "personal_ws-1.1 ru 0 UTF-8" 0081 0082 $dict.each do |s| 0083 f.puts s 0084 end 0085 end 0086