prekladatelj 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e910ad43f3e6986ba8c35746bdac14b312425016a1ce5231a4009266b913c3c0
4
+ data.tar.gz: aae6ea64044bef5ceb62649e608068f07feff8d5c36ef28e48bde658370d9b34
5
+ SHA512:
6
+ metadata.gz: e2dc1d3e60b777631b1ae9e4258953aae1482f9ade8650e2e8b710fb1ea4b9d4d6a96c7cf65f0d42dfefa3fdcfff91fa77c541ccece50d8732aa77ed7abf639e
7
+ data.tar.gz: b5a80284d58129178e9b0cc9ac5b85ec7c244e97071970f36d2d552f5506be6a0fbb8d5406f05f2b5222fc10d082883006988916fe63975b25b1e9f41fb7974f
data/.gitignore ADDED
@@ -0,0 +1,8 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
data/.idea/.gitignore ADDED
File without changes
data/.idea/.rakeTasks ADDED
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Settings><!--This file was automatically generated by Ruby plugin.
3
+ You are allowed to:
4
+ 1. Remove rake task
5
+ 2. Add existing rake tasks
6
+ To add existing rake tasks automatically delete this file and reload the project.
7
+ --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build prekladatelj-0.1.0.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Remove any temporary products" fullCmd="clean" taksId="clean" /><RakeTask description="Remove any generated files" fullCmd="clobber" taksId="clobber" /><RakeTask description="Build and install prekladatelj-0.1.0.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install prekladatelj-0.1.0.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.1.0 and build and push prekladatelj-0.1.0.gem to rubygems.org" fullCmd="release[remote]" taksId="release[remote]" /><RakeTask description="Run tests" fullCmd="test" taksId="test" /><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
@@ -0,0 +1,6 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="Rubocop" enabled="false" level="WARNING" enabled_by_default="false" />
5
+ </profile>
6
+ </component>
data/.idea/misc.xml ADDED
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager" version="2" project-jdk-name="ruby-2.7.2-p137" project-jdk-type="RUBY_SDK" />
4
+ </project>
data/.idea/modules.xml ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/prekladatelj.iml" filepath="$PROJECT_DIR$/.idea/prekladatelj.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="ModuleRunConfigurationManager">
4
+ <shared />
5
+ </component>
6
+ <component name="NewModuleRootManager">
7
+ <content url="file://$MODULE_DIR$">
8
+ <sourceFolder url="file://$MODULE_DIR$/features" isTestSource="true" />
9
+ <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
10
+ <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
11
+ </content>
12
+ <orderEntry type="inheritedJdk" />
13
+ <orderEntry type="sourceFolder" forTests="false" />
14
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v2.1.4, ruby-2.7.2-p137) [gem]" level="application" />
15
+ <orderEntry type="library" scope="PROVIDED" name="minitest (v5.14.2, ruby-2.7.2-p137) [gem]" level="application" />
16
+ <orderEntry type="library" scope="PROVIDED" name="rake (v12.3.3, ruby-2.7.2-p137) [gem]" level="application" />
17
+ </component>
18
+ </module>
data/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,180 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="BranchesTreeState">
4
+ <expand>
5
+ <path>
6
+ <item name="ROOT" type="e8cecc67:BranchNodeDescriptor" />
7
+ <item name="LOCAL_ROOT" type="e8cecc67:BranchNodeDescriptor" />
8
+ </path>
9
+ </expand>
10
+ <select />
11
+ </component>
12
+ <component name="ChangeListManager">
13
+ <list default="true" id="e49f8012-4128-4ab9-b89d-c52536db8768" name="Default Changelist" comment="">
14
+ <change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
15
+ <change beforePath="$PROJECT_DIR$/README_isl_cy.md" beforeDir="false" afterPath="$PROJECT_DIR$/README_isl_cy.md" afterDir="false" />
16
+ <change beforePath="$PROJECT_DIR$/README_isl_la.md" beforeDir="false" afterPath="$PROJECT_DIR$/README_isl_la.md" afterDir="false" />
17
+ <change beforePath="$PROJECT_DIR$/exe/prekladatelj" beforeDir="false" afterPath="$PROJECT_DIR$/exe/prekladatelj" afterDir="false" />
18
+ <change beforePath="$PROJECT_DIR$/lib/prekladatelj.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/prekladatelj.rb" afterDir="false" />
19
+ <change beforePath="$PROJECT_DIR$/prekladatelj.gemspec" beforeDir="false" afterPath="$PROJECT_DIR$/prekladatelj.gemspec" afterDir="false" />
20
+ <change beforePath="$PROJECT_DIR$/test/prekladatelj_test.rb" beforeDir="false" afterPath="$PROJECT_DIR$/test/prekladatelj_test.rb" afterDir="false" />
21
+ </list>
22
+ <option name="SHOW_DIALOG" value="false" />
23
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
24
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
25
+ <option name="LAST_RESOLUTION" value="IGNORE" />
26
+ </component>
27
+ <component name="Git.Settings">
28
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
29
+ </component>
30
+ <component name="ProjectId" id="1jYCLoDYare1mLGE5fAJgTF2tPW" />
31
+ <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
32
+ <component name="ProjectViewState">
33
+ <option name="hideEmptyMiddlePackages" value="true" />
34
+ <option name="showLibraryContents" value="true" />
35
+ </component>
36
+ <component name="PropertiesComponent">
37
+ <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
38
+ <property name="WebServerToolWindowFactoryState" value="false" />
39
+ <property name="last.edited.regexp" value="jestjenie&#10;" />
40
+ <property name="nodejs_package_manager_path" value="npm" />
41
+ </component>
42
+ <component name="RunManager" selected="IRB.irb">
43
+ <configuration name="irb" type="IrbRunConfigurationType" factoryName="IRB console" temporary="true">
44
+ <module name="prekladatelj" />
45
+ <IRB_RUN_CONFIG NAME="RUBY_ARGS" VALUE="" />
46
+ <IRB_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$" />
47
+ <IRB_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
48
+ <IRB_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
49
+ <IRB_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
50
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
51
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
52
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov">
53
+ <COVERAGE_PATTERN ENABLED="true">
54
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
55
+ </COVERAGE_PATTERN>
56
+ </EXTENSION>
57
+ <IRB_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$APPLICATION_HOME_DIR$/plugins/ruby/rb/testing/runner/irb.rb" />
58
+ <IRB_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="--simple-prompt --singleline" />
59
+ <IRB_RUN_CONFIG NAME="IS_RAILS_CONSOLE" VALUE="false" />
60
+ <method v="2" />
61
+ </configuration>
62
+ <configuration name="install: prekladatelj" type="RakeRunConfigurationType" factoryName="Rake" temporary="true">
63
+ <module name="prekladatelj" />
64
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
65
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$MODULE_DIR$" />
66
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
67
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
68
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
69
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
70
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
71
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov">
72
+ <COVERAGE_PATTERN ENABLED="true">
73
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
74
+ </COVERAGE_PATTERN>
75
+ </EXTENSION>
76
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="install" />
77
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
78
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE="" />
79
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
80
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
81
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
82
+ <RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TESTOPTS" VALUE="" />
83
+ <method v="2" />
84
+ </configuration>
85
+ <configuration name="prekladatelj" type="RubyRunConfigurationType" factoryName="Ruby" temporary="true">
86
+ <module name="prekladatelj" />
87
+ <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="" />
88
+ <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/lib" />
89
+ <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
90
+ <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
91
+ <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
92
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
93
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
94
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov">
95
+ <COVERAGE_PATTERN ENABLED="true">
96
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
97
+ </COVERAGE_PATTERN>
98
+ </EXTENSION>
99
+ <EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
100
+ <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/lib/prekladatelj.rb" />
101
+ <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
102
+ <method v="2" />
103
+ </configuration>
104
+ <recent_temporary>
105
+ <list>
106
+ <item itemvalue="IRB.irb" />
107
+ <item itemvalue="Rake.install: prekladatelj" />
108
+ <item itemvalue="Ruby.prekladatelj" />
109
+ <item itemvalue="IRB.irb" />
110
+ </list>
111
+ </recent_temporary>
112
+ </component>
113
+ <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
114
+ <component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" RAKE_SPRING_PRE_LOADER_OPTION="true" RAILS_SPRING_PRE_LOADER_OPTION="true" />
115
+ <component name="TaskManager">
116
+ <task active="true" id="Default" summary="Default task">
117
+ <changelist id="e49f8012-4128-4ab9-b89d-c52536db8768" name="Default Changelist" comment="" />
118
+ <created>1603971584518</created>
119
+ <option name="number" value="Default" />
120
+ <option name="presentableId" value="Default" />
121
+ <updated>1603971584518</updated>
122
+ <workItem from="1603971588509" duration="10814000" />
123
+ <workItem from="1604067756668" duration="35006000" />
124
+ </task>
125
+ <servers />
126
+ </component>
127
+ <component name="TypeScriptGeneratedFilesManager">
128
+ <option name="version" value="3" />
129
+ </component>
130
+ <component name="Vcs.Log.Tabs.Properties">
131
+ <option name="TAB_STATES">
132
+ <map>
133
+ <entry key="MAIN">
134
+ <value>
135
+ <State />
136
+ </value>
137
+ </entry>
138
+ </map>
139
+ </option>
140
+ </component>
141
+ <component name="WindowStateProjectService">
142
+ <state x="0" y="0" width="1081" height="732" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1603973909648">
143
+ <screen x="0" y="0" width="1366" height="732" />
144
+ </state>
145
+ <state x="0" y="0" width="1081" height="732" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1366.732@0.0.1366.732" timestamp="1603973909648" />
146
+ <state x="466" y="133" key="FileChooserDialogImpl" timestamp="1603973845212">
147
+ <screen x="0" y="0" width="1366" height="732" />
148
+ </state>
149
+ <state x="466" y="133" key="FileChooserDialogImpl/0.0.1366.732@0.0.1366.732" timestamp="1603973845212" />
150
+ <state width="1320" height="164" key="GridCell.Tab.0.bottom" timestamp="1604198185296">
151
+ <screen x="0" y="0" width="1366" height="732" />
152
+ </state>
153
+ <state width="1320" height="164" key="GridCell.Tab.0.bottom/0.0.1366.732@0.0.1366.732" timestamp="1604198185296" />
154
+ <state width="1320" height="164" key="GridCell.Tab.0.center" timestamp="1604198185295">
155
+ <screen x="0" y="0" width="1366" height="732" />
156
+ </state>
157
+ <state width="1320" height="164" key="GridCell.Tab.0.center/0.0.1366.732@0.0.1366.732" timestamp="1604198185295" />
158
+ <state width="1320" height="164" key="GridCell.Tab.0.left" timestamp="1604198185295">
159
+ <screen x="0" y="0" width="1366" height="732" />
160
+ </state>
161
+ <state width="1320" height="164" key="GridCell.Tab.0.left/0.0.1366.732@0.0.1366.732" timestamp="1604198185295" />
162
+ <state width="1320" height="164" key="GridCell.Tab.0.right" timestamp="1604198185295">
163
+ <screen x="0" y="0" width="1366" height="732" />
164
+ </state>
165
+ <state width="1320" height="164" key="GridCell.Tab.0.right/0.0.1366.732@0.0.1366.732" timestamp="1604198185295" />
166
+ <state x="337" y="0" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser" timestamp="1604128537879">
167
+ <screen x="0" y="0" width="1366" height="732" />
168
+ </state>
169
+ <state x="337" y="0" key="com.intellij.openapi.editor.actions.MultiplePasteAction$ClipboardContentChooser/0.0.1366.732@0.0.1366.732" timestamp="1604128537879" />
170
+ <state x="346" y="52" width="672" height="678" key="search.everywhere.popup" timestamp="1604147072143">
171
+ <screen x="0" y="0" width="1366" height="732" />
172
+ </state>
173
+ <state x="346" y="52" width="672" height="678" key="search.everywhere.popup/0.0.1366.732@0.0.1366.732" timestamp="1604147072143" />
174
+ </component>
175
+ <component name="com.intellij.coverage.CoverageDataManagerImpl">
176
+ <SUITE FILE_PATH="coverage/prekladatelj@prekladatelj.rcov" NAME="prekladatelj Coverage Results" MODIFIED="1604122001181" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/lib" MODULE_NAME="prekladatelj" />
177
+ <SUITE FILE_PATH="coverage/prekladatelj@install__prekladatelj.rcov" NAME="install: prekladatelj Coverage Results" MODIFIED="1604123117288" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="prekladatelj" />
178
+ <SUITE FILE_PATH="coverage/prekladatelj@irb.rcov" NAME="irb Coverage Results" MODIFIED="1604156821652" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="prekladatelj" />
179
+ </component>
180
+ </project>
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ ---
2
+ language: ruby
3
+ cache: bundler
4
+ rvm:
5
+ - 2.7.2
6
+ before_install: gem install bundler -v 2.1.4
data/Gemfile ADDED
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in prekladatelj.gemspec
4
+ gemspec
5
+
6
+ gem "rake", "~> 12.0"
7
+ gem "minitest", "~> 5.0"
data/Gemfile.lock ADDED
@@ -0,0 +1,21 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ prekladatelj (0.1.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ minitest (5.14.2)
10
+ rake (12.3.3)
11
+
12
+ PLATFORMS
13
+ ruby
14
+
15
+ DEPENDENCIES
16
+ minitest (~> 5.0)
17
+ prekladatelj!
18
+ rake (~> 12.0)
19
+
20
+ BUNDLED WITH
21
+ 2.1.4
data/README.md ADDED
@@ -0,0 +1,107 @@
1
+ # Prekladatelj ![* Interslavic flag *](http://steen.free.fr/interslavic/slovianski.ico)
2
+
3
+ *(isv. "Translator")*
4
+
5
+ [Čitati v Medžuslovjanskom jezyku](README_isl_la.md) // [Читати в Меджусловjанском jезыку](README_isl_cy.md)
6
+
7
+ A Ruby gem (library) for transliterating [Interslavic](http://steen.free.fr/interslavic/index.html) texts from Latin to Cyrillic and vice versa.
8
+ Like this:
9
+
10
+ ```ruby
11
+ "Меджусловјанскы јест језык, кторы Словјани разных народностиј користајут".to_latin
12
+ #=> "Medžuslovjansky jest jezyk, ktory Slovjani raznyh narodnostij koristajut"
13
+ "Jabloko sut jedlivy plod".to_cyrillic
14
+ #=> "Јаблоко сут једливы плод"
15
+ ```
16
+ This is useful for Rails website or a Ruby program in Interslavic, allowing you to provide content in both official writing systems (including [Flavourisation](#Flavourisation)) without manual transliteration
17
+
18
+ ## Installation
19
+ As for any Ruby gem.
20
+
21
+ Add this line to your application's Gemfile:
22
+
23
+ ```ruby
24
+ gem 'prekladatelj'
25
+ ```
26
+
27
+ And then execute:
28
+
29
+ $ bundle install
30
+
31
+ Or install it yourself as:
32
+
33
+ $ gem install prekladatelj
34
+
35
+ (alternatively, if you're familiar with gems development, clone this repository and perform ``rake install``)
36
+ ## Usage
37
+
38
+ **Prekladatelj** extends ``String``, so you will want to use it like this:
39
+
40
+ ```ruby
41
+ require 'prekladatelj'
42
+ str = "Redok"
43
+ str.to_cyrillic #=> "Редок"
44
+ # or even like this:
45
+ "Богоjaвjeнje".to_latin #=> "Bogojavjenje"
46
+ ```
47
+
48
+ However, a more complicated way is possible (in case you need it?..):
49
+ ```ruby
50
+ require 'prekladatelj'
51
+ Prekladatelj::Cyrillic::to_latin "изjаснити" #=> "izjasniti"
52
+ Prekladatelj::Latin::to_cyrillic "Japonija" #=> "Јапонија"
53
+ ```
54
+ The algorithm may not be the fastest, so if you deal with large texts you may want to save
55
+ the transliteration for further usage unless your content is dynamic.
56
+ Note that destructive methods (like ``to_latin!``) are not yet implemented, so you have to assign methods' output to a variable
57
+ in order to save the transliteration, like this:
58
+ ```ruby
59
+ cyrillic = some_text.to_cyrillic
60
+ ```
61
+
62
+ ## Flavourisation
63
+
64
+ Besides two writing systems, Interslavic offers flavourisation. That means, if you want to address your message to Western Slavs,
65
+ you can change Interslavic's standard letters so they are easier to read
66
+ for a Polish person (such as Ł, W instead of L, V). More about [Flavourisation in Interslavic here](http://steen.free.fr/interslavic/flavorizacija.html) (English)
67
+
68
+ **Prekladatelj** supports predefined sets of flavour which you can pass to the ``to_xxx`` methods:
69
+
70
+ ```ruby
71
+ "Bogojavjenje".to_cyrillic :eastern
72
+ # => "Богоявьенье"
73
+ # standard: "Богоjaвjeнje"
74
+ ```
75
+
76
+ As of version 0.1.0, the only 'flavour' available for ``to_cyrillic`` is ``:eastern``, which looks much more familiar for *Russians, Ukrainians and Belarusians*.
77
+ (letters **я**, **ю**, **щ**; "ся" as a 'self' particle etc.)
78
+ ```ruby
79
+ Prekladatelj::Latin::to_cyrillic "jaščer", :eastern
80
+ # => "ящер"
81
+ # standard: "jашчер"
82
+ ```
83
+
84
+ ## Restrictions
85
+ * As of 0.1.0, Prekladatelj requires the original text to be written in [current version](http://steen.free.fr/interslavic/orthography.html#standard_alphabet)
86
+ of Interslavic orthography standard. For example, previously used ѣ as Є in Cyrillic would not be recognized (yet). This
87
+ also means that flavourised texts cannot be converted back (at least for now)
88
+ * ``:eastern`` flavour can only be applied to Latin string; for flavouring Cyrillic, first convert it in Latin (this will be fixed soon)
89
+ * ``cz sz zs`` and another alternatives for diacritic ``č, š, ž`` are not yet supported
90
+ * Etymological alphabet is unlikely to be ever supported
91
+ * Glagolica is not yet supported
92
+
93
+ ## Troubleshooting
94
+ This gem is still in its early days and haven't been properly tested on big texts, so bugs are likely
95
+ to occur, especially while using flavourisation features.
96
+
97
+ If something isn't right or you have an idea to offer, feel free to open an issue.
98
+
99
+ Better way, fix the problem yourself, see "Contributing" below
100
+
101
+ ## Contributing
102
+
103
+ Prekladatelj has a huge room to improve in terms of accuracy and speed. If you know Ruby, feel free to fork this repo
104
+ and apply your improvements, pull requests are welcome.
105
+
106
+ If you know another language, you may implement you own version of Prekladatelj in that language
107
+ utilising this name. Please notify me if you do!
data/README_isl_cy.md ADDED
@@ -0,0 +1,104 @@
1
+ # Prekladatelj ![* Interslavic flag *](http://steen.free.fr/interslavic/slovianski.ico)
2
+ [Read in English](README.md) // [Čitati v Medžuslovjanskom jezyku](README_isl_la.md)
3
+
4
+ *Прекладателj*
5
+
6
+ Гем Ruby (библиотека) длjа транслитерациjи текстов в [Меджусловjанском](http://steen.free.fr/interslavic/index.html) jезыку с Латинице на Кирилицу и обратно.
7
+ Так:
8
+
9
+ ```ruby
10
+ "Меджусловјанскы јест језык, кторы Словјани разных народностиј користајут".to_latin
11
+ #=> "Medžuslovjansky jest jezyk, ktory Slovjani raznyh narodnostij koristajut"
12
+ "Jabloko sut jedlivy plod".to_cyrillic
13
+ #=> "Јаблоко сут једливы плод"
14
+ ```
15
+ То jест добро длjа веб-саjтов на Rails или програм на Ruby, користаjучим Меджусловjанскы jезык.
16
+ Можно подавати тексты на обоjих писмах (вклjучаjучи [Флаворизациjу](#Флаворизациjа))
17
+ без ручного прекладу.
18
+
19
+ ## Поставjенjе
20
+ Како длjа другых Ruby гемов.
21
+
22
+ Впиши сеjу линиjу в Gemfile твоjеj апликациjи (ако користаjеш оныj):
23
+
24
+ ```ruby
25
+ gem 'prekladatelj'
26
+ ```
27
+
28
+ Потом изполни:
29
+
30
+ $ bundle install
31
+
32
+ Или поставj сам чрез:
33
+
34
+ $ gem install prekladatelj
35
+
36
+ (ако ли ты знаjеш, како jест творимы гемы, клонируj сеj репозиториj и изполни ``rake install``)
37
+ ## Користанjе
38
+
39
+ **Prekladatelj** разширjаjе ``String``, тому можно користати тако:
40
+
41
+ ```ruby
42
+ require 'prekladatelj'
43
+ str = "Redok"
44
+ str.to_cyrillic #=> "Редок"
45
+ # але аж так:
46
+ "Богоjaвjeнje".to_latin #=> "Bogojavjenje"
47
+ ```
48
+
49
+ Jеднако болjе тежкиj способ jест можливы (jестли потребно?..):
50
+ ```ruby
51
+ require 'prekladatelj'
52
+ Prekladatelj::Cyrillic::to_latin "изjаснити" #=> "izjasniti"
53
+ Prekladatelj::Latin::to_cyrillic "Japonija" #=> "Јапонија"
54
+ ```
55
+ Алгоритм може быти не быстры, тому великы тексты рекомендовано записывати в пременноjу длjа далjшего користаниjа, jестли
56
+ контент не jест динамическы.
57
+
58
+ Обрати позорност, же деструктивны методы (како ``to_latin!``) jешче не jест створены, и потребно писати изход методов в нову пременноjу,
59
+ да бы схранити транслитерациjу. Вот так:
60
+
61
+ ```ruby
62
+ cyrillic = some_text.to_cyrillic
63
+ ```
64
+
65
+ ## Флаворизациjа
66
+
67
+ Jестли потребно обратити се к лjудам jединого рода, можно користати [флаворизациjу](http://steen.free.fr/interslavic/flavorizacija.html) (Англиjскы)
68
+
69
+ **Prekladatelj** даваjе дефиниовану колекциjу сих "запахов", кторы можно предавати методам ``to_xxx``:
70
+
71
+ ```ruby
72
+ "Bogojavjenje".to_cyrillic :eastern
73
+ # => "Богоявьенье"
74
+ # стандард: "Богоjaвjeнje"
75
+ ```
76
+
77
+ К часу версиjи 0.1.0, jедины "флавор" доступны длjа ``to_cyrillic`` jест ``:eastern``,
78
+ кторы легше читати *Русскым, Украjинцам и Белорусам*.
79
+ (буквы **я**, **ю**, **щ**; "ся" заместо "се" и тако далjе)
80
+ ```ruby
81
+ Prekladatelj::Latin::to_cyrillic "jaščer", :eastern
82
+ # => "ящер"
83
+ # стандард: "jашчер"
84
+ ```
85
+
86
+ ## Ограниченjа
87
+ * В версиjи 0.1.0, Прекладателjу треба, же текст jест писаны по [сеjчасному стандарду](http://steen.free.fr/interslavic/orthography.html#standard_alphabet) правопису.
88
+ Наприклад, ранеjе користана в Кирилице ѣ (како Є) не буде познана (пока). Флаворизованы
89
+ тексты такоже пока не можут быти транслитерованы
90
+ * ``:eastern`` може быти изкористаjуча толико с Латиницеj; длjа флаворизациjи Кирилицы изпрва преклади jеj до Латиницы (се скоро буде поправjено)
91
+ * ``cz sz zs`` како алтернативы ``č, š, ž`` допока не jест доступны
92
+ * Етимологична абецеда jедва когдаколи буде доступна
93
+ * Глаголица допока не jест доступна
94
+
95
+ ## Проблемы
96
+ Тутоj гем jест много млады. Створи issue, ако чтоколи недобро!
97
+
98
+ ## Вкладанjе
99
+
100
+ Прекладателj имаjе много можливости длjа улепшениjа. Ако ты знаjеш Ruby, можеш створити fork сего репозиториjа и приложити
101
+ измены. Pull requests jест привитаны!
102
+
103
+ Ако знаjеш другы jезык програмованиjа, можеш створити ину версиjу Прекладателjа в том jезыке, користаjучи jего име.
104
+ Прошу, уведоми, ако так!
data/README_isl_la.md ADDED
@@ -0,0 +1,101 @@
1
+ # Prekladatelj ![* Interslavic flag *](http://steen.free.fr/interslavic/slovianski.ico)
2
+ [Read in English](README.md) // [Читати в Меджусловjанском jезыку](README_isl_cy.md)
3
+
4
+ Gem Ruby (biblioteka) dlja transliteraciji tekstov v [Medžuslovjanskom](http://steen.free.fr/interslavic/index.html) jezyku s Latinice na Kirilicu i obratno.
5
+ Tak:
6
+
7
+ ```ruby
8
+ "Меджусловјанскы јест језык, кторы Словјани разных народностиј користајут".to_latin
9
+ #=> "Medžuslovjansky jest jezyk, ktory Slovjani raznyh narodnostij koristajut"
10
+ "Jabloko sut jedlivy plod".to_cyrillic
11
+ #=> "Јаблоко сут једливы плод"
12
+ ```
13
+ To jest dobro dlja veb-sajtov na Rails ili program na Ruby, koristajučim Medžuslovjansky jezyk.
14
+ Možno podavati teksty na obojih pismah (vključajuči [Flavorizaciju](#Flavorizacija)) bez ručnogo prekladu.
15
+
16
+ ## Postavjenje
17
+ Kako dlja drugyh Ruby gemov.
18
+
19
+ Vpiši seju liniju v Gemfile tvojej aplikaciji (ako koristaješ onyj):
20
+
21
+ ```ruby
22
+ gem 'prekladatelj'
23
+ ```
24
+
25
+ Potom izpolni:
26
+
27
+ $ bundle install
28
+
29
+ Ili postavj sam črez:
30
+
31
+ $ gem install prekladatelj
32
+
33
+ (ako li ty znaješ, kako jest tvorimy gemy, kloniruj sej repozitorij i izpolni ``rake install``)
34
+ ## Koristanje
35
+
36
+ **Prekladatelj** razširjaje ``String``, tomu možno koristati tako:
37
+
38
+ ```ruby
39
+ require 'prekladatelj'
40
+ str = "Redok"
41
+ str.to_cyrillic #=> "Редок"
42
+ # ale až tak:
43
+ "Богоjaвjeнje".to_latin #=> "Bogojavjenje"
44
+ ```
45
+
46
+ Jednako bolje težkij sposob jest možlivy (jestli potrebno?..):
47
+ ```ruby
48
+ require 'prekladatelj'
49
+ Prekladatelj::Cyrillic::to_latin "изjаснити" #=> "izjasniti"
50
+ Prekladatelj::Latin::to_cyrillic "Japonija" #=> "Јапонија"
51
+ ```
52
+ Algoritm može byti ne bystry, tomu veliky teksty rekomendovano zapisyvati v premennoju dlja daljšego koristanija, jestli
53
+ kontent ne jest dinamičesky.
54
+
55
+ Obrati pozornost, že destruktivny metody (kako ``to_latin!``) ješče ne jest stvoreny, i potrebno pisati izhod metodov v novu premennoju,
56
+ da by shraniti transliteraciju. Vot tak:
57
+
58
+ ```ruby
59
+ cyrillic = some_text.to_cyrillic
60
+ ```
61
+
62
+ ## Flavorizacija
63
+
64
+ Jestli potrebno obratiti se k ljudam jedinogo roda, možno koristati [flavorizaciju](http://steen.free.fr/interslavic/flavorizacija.html) (Anglijsky)
65
+
66
+ **Prekladatelj** davaje definiovanu kolekciju sih "zapahov", ktory možno predavati metodam ``to_xxx``:
67
+
68
+ ```ruby
69
+ "Bogojavjenje".to_cyrillic :eastern
70
+ # => "Богоявьенье"
71
+ # standard: "Богоjaвjeнje"
72
+ ```
73
+
74
+ K času versiji 0.1.0, jediny 'flavor' dostupny dlja ``to_cyrillic`` jest ``:eastern``,
75
+ ktory legše čitati *Russkym, Ukrajincam i Belorusam*.
76
+ (bukvy **я**, **ю**, **щ**; 'ся' zamesto 'се' i tako dalje)
77
+ ```ruby
78
+ Prekladatelj::Latin::to_cyrillic "jaščer", :eastern
79
+ # => "ящер"
80
+ # standard: "jашчер"
81
+ ```
82
+
83
+ ## Ograničenja
84
+ * V versiji 0.1.0, Prekladatelju treba, že tekst jest pisany po [sejčasnomu standardu](http://steen.free.fr/interslavic/orthography.html#standard_alphabet) pravopisu.
85
+ Napriklad, raneje koristana v Kirilice ѣ (kako Ě) ne bude poznana (poka). Flavorizovany
86
+ teksty takože poka ne možut byti transliterovany
87
+ * ``:eastern`` može byti izkoristajuča toliko s Latinicej; dlja flavorizaciji Kirilicy izprva prekladi jej do Latinicy (se skoro bude popravjeno)
88
+ * ``cz sz zs`` kako alternativy ``č, š, ž`` dopoka ne jest dostupny
89
+ * Etimologična abeceda jedva kogdakoli bude dostupna
90
+ * Glagolica dopoka ne jest dostupna
91
+
92
+ ## Problemy
93
+ Tutoj gem jest mnogo mlady. Stvori issue, ako čtokoli nedobro!
94
+
95
+ ## Vkladanje
96
+
97
+ Prekladatelj imaje mnogo možlivosti dlja ulepšenija. Ako ty znaješ Ruby, možeš stvoriti fork sego repozitorija i priložiti
98
+ izmeny. Pull requests jest privitany!
99
+
100
+ Ako znaješ drugy jezyk programovanija, možeš stvoriti inu versiju Prekladatelja v tom jezyke, koristajuči jego ime.
101
+ Prošu, uvedomi, ako tak!
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList["test/**/*_test.rb"]
8
+ end
9
+
10
+ task :default => :test
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "prekladatelj"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/exe/prekladatelj ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "prekladatelj"
@@ -0,0 +1,104 @@
1
+ require_relative "prekladatelj/version.rb"
2
+
3
+ class String
4
+
5
+ def to_latin(*args)
6
+ Prekladatelj::Cyrillic::to_latin self, *args
7
+ end
8
+
9
+ def to_cyrillic(*args)
10
+ Prekladatelj::Latin::to_cyrillic self, *args
11
+ end
12
+ end
13
+
14
+ module Prekladatelj
15
+ class Error < StandardError; end
16
+
17
+ # TODO user's transliteration preferences support
18
+ =begin
19
+ class Preferences
20
+ @preferences = {}
21
+
22
+ # @param [Hash] prefs
23
+ def self.define(prefs)
24
+ @preferences = prefs if prefs.kind_of? Hash
25
+ end
26
+
27
+ def self.preferences=(prefs)
28
+ define prefs
29
+ end
30
+
31
+ def self.preferences
32
+ @preferences
33
+ end
34
+
35
+ end
36
+ =end
37
+
38
+ class Cyrillic
39
+ UPPER = %w[А Б Ц Ч Д Е Є Ф Г Х И Ј К Л Љ М Н Њ О П Р С Ш Т У В Ы З Ж]
40
+ DOWN = %w[а б ц ч д е є ф г х и ј к л љ м н њ о п р с ш т у в ы з ж]
41
+
42
+ # @param [String] line
43
+ def self.to_latin(line, *args)
44
+ str = String line[0..-1]
45
+
46
+ UPPER.each { |x| str.gsub! x, Latin::UPPER[UPPER.index(x)] if UPPER.any? x}
47
+ DOWN.each { |x| str.gsub! x, Latin::DOWN[DOWN.index(x)] if DOWN.any? x}
48
+
49
+ str
50
+ end
51
+
52
+ end
53
+
54
+ class Latin
55
+ UPPER = %w[A B C Č D E Ě F G H I J K L LJ M N NJ O P R S Š T U V Y Z Ž]
56
+ DOWN = %w[a b c č d e ě f g h i j k l lj m n nj o p r s š t u v y z ž]
57
+
58
+ EASTERN = {
59
+ "ju" => "ю",
60
+ "ja" => "я",
61
+ "ě" => "е",
62
+ "je" => "е",
63
+ "lj" => "ль",
64
+ "nj" => "нь",
65
+ "j" => "й",
66
+ "šč" => "щ"
67
+ }
68
+
69
+ # @param [String] line
70
+ def self.to_cyrillic(line, *args)
71
+ str = String line[0..-1]
72
+
73
+ if args.any? :eastern
74
+ line = str.split.to_a
75
+ line.each do |word|
76
+ if word.start_with? "je"
77
+ word["je"] = "е"
78
+ end
79
+ if word.gsub(/\W+/, '') == "se"
80
+ word["se"] = "ся"
81
+ end
82
+ while word =~ /[^aiueoyj](je)/
83
+ word["je"] = "ье"
84
+ end
85
+ end
86
+ str = line.join " "
87
+
88
+ EASTERN.each_pair do |k, v|
89
+ str.gsub! k, v
90
+ str.gsub! k.capitalize, v.capitalize
91
+ str.gsub! k.upcase, v.upcase
92
+ end
93
+ end
94
+
95
+ UPPER.each { |x| str.gsub! x, Cyrillic::UPPER[UPPER.index(x)] if UPPER.any? x}
96
+ DOWN.each { |x| str.gsub! x, Cyrillic::DOWN[DOWN.index(x)] if DOWN.any? x}
97
+
98
+ str
99
+ end
100
+
101
+ end
102
+
103
+
104
+ end
@@ -0,0 +1,3 @@
1
+ module Prekladatelj
2
+ VERSION = "0.1.1"
3
+ end
@@ -0,0 +1,29 @@
1
+ require_relative 'lib/prekladatelj/version'
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "prekladatelj"
5
+ spec.version = Prekladatelj::VERSION
6
+ spec.authors = ["bikeroleg"]
7
+ spec.email = ["i4v.mail@yandex.com"]
8
+
9
+ spec.summary = %q{Convert Interslavic sentences from latin to cyrillic and vice versa}
10
+ spec.description = %q{This gem helps to convert a text from one writing system to another using Interslavic standards, with option to specify one. Also works as a standalone console program. }
11
+ spec.homepage = "https://github.com/bikeroleg/prekladatelj"
12
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
13
+
14
+ #spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
15
+
16
+ spec.metadata["homepage_uri"] = spec.homepage
17
+ spec.metadata["source_code_uri"] = "https://github.com/bikeroleg/prekladatelj"
18
+ #spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
19
+
20
+ # Specify which files should be added to the gem when it is released.
21
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
23
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
+ end
25
+ spec.bindir = "exe"
26
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
+ spec.require_paths = ["lib"]
28
+ spec.license = "GPLv3"
29
+ end
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: prekladatelj
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - bikeroleg
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-11-01 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: 'This gem helps to convert a text from one writing system to another
14
+ using Interslavic standards, with option to specify one. Also works as a standalone
15
+ console program. '
16
+ email:
17
+ - i4v.mail@yandex.com
18
+ executables:
19
+ - prekladatelj
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - ".gitignore"
24
+ - ".idea/.gitignore"
25
+ - ".idea/.rakeTasks"
26
+ - ".idea/inspectionProfiles/Project_Default.xml"
27
+ - ".idea/misc.xml"
28
+ - ".idea/modules.xml"
29
+ - ".idea/prekladatelj.iml"
30
+ - ".idea/vcs.xml"
31
+ - ".idea/workspace.xml"
32
+ - ".travis.yml"
33
+ - Gemfile
34
+ - Gemfile.lock
35
+ - README.md
36
+ - README_isl_cy.md
37
+ - README_isl_la.md
38
+ - Rakefile
39
+ - bin/console
40
+ - bin/setup
41
+ - exe/prekladatelj
42
+ - lib/prekladatelj.rb
43
+ - lib/prekladatelj/version.rb
44
+ - prekladatelj.gemspec
45
+ homepage: https://github.com/bikeroleg/prekladatelj
46
+ licenses:
47
+ - GPLv3
48
+ metadata:
49
+ homepage_uri: https://github.com/bikeroleg/prekladatelj
50
+ source_code_uri: https://github.com/bikeroleg/prekladatelj
51
+ post_install_message:
52
+ rdoc_options: []
53
+ require_paths:
54
+ - lib
55
+ required_ruby_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 2.4.0
60
+ required_rubygems_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ requirements: []
66
+ rubygems_version: 3.1.4
67
+ signing_key:
68
+ specification_version: 4
69
+ summary: Convert Interslavic sentences from latin to cyrillic and vice versa
70
+ test_files: []