Code Monkey home page Code Monkey logo

silconverters's Introduction

SIL Converters

This package provides tools through which you can change the encoding, font, and/or script of text in Microsoft Word and other Office documents, OpenOffice and LibreOffice documents, XML documents, and SFM text and lexicon documents. It also installs a system-wide repository to manage your encoding converters and transliterators (TECkit, CC, ICU, Perl, or Python based, as well as support for adding custom transduction engines) and now several web-based translators (Bing Translate, DeepL Translate, and Google Translate).

For developers, it provides a simple COM interface to select and use a converter from the repository. It is easy to use from VBA, C++, C#, Perl, Python or any .NET/COM enabled language.

The core EncConverters assembly is fully integrated with FLEx (FieldWorks Language Explorer), Speech Analyzer, Phonology Assistant, Adapt It, OneStory Editor software, and now there's a Paratext Plug-in also. It provides the same system-wide registry of installed and available encoding converters for all of these user programs. Additionally the package includes some extra utilities such as a clipboard converter for manipulating text between cut and paste operations.

The following picture illustrates the suite of tools, utilities, and applications that are available and how they interact:

alt text Figure 1. SIL Converters Suite

Figure 1 shows the three distinct layers to SIL Converters.

  • At the top are various client applications. These user-oriented programs use the EncConverters core assembly to provide encoding conversion and other transduction facilities to their users.
  • The EncConverters core provides an abstraction layer so the client applications can access the various transduction engines without having to implement the interface to each one separately.
  • The transduction engines are the server applications that provide the actual conversion/text processing capability.

If you are an end user, you are probably most interested in how to use EncConverters with client applications—for example:

  • Using the Bulk Word Document Converter to convert the encoding of text in one or more Word document to Unicode, or
  • Using Bulk SFM Converter to convert SFM documents into Unicode (typically texts and lexicons from Shoebox to Toolbox)
  • Using the Paratext plug-in to help with Back Translation (generally using one or more of the Translator EncConverters to get suggestions)

If you are a developer, you may be interested in

  • Using EncConverters to gain access to the different transduction resources available by writing to the single EncConverters’ interface. See this webpage for details and code snippets.

Upgrade! New Features

For version 5.1

  • Support for the new web-based Translation resources (Bing, DeepL, and Google Translate)
  • Support 64 bit version of Microsoft Office, as well as continued support for 32 bit versions. See the documentation below for how to determine which bitness of Microsoft Office you have, and therefore which installer you should download.
  • Support newer versions of Microsoft Office (including 2019 and 365).
  • TECkit mapping editor can now show characters outside of the Basic Multilingual Plane (BMP), that is, Unicode characters above U+FFFF.
  • Updated TECkit maps.
  • Updated TECkit to support Unicode 13.

See also this page for more information and a signed installer download

For building SILConverters (currently only on Windows), open the solution in Visual Studio in administrative mode, and click Rebuild All on the Build menu.

If you want to upgrade the EncConverters core nuget package, it is recommended to follow these steps rather than using the normal Manage Nuget packages approach (it doesn't update the package properly for x86 vs. x64 builds or use the pre-defined 'EcLibFilesPath' nuget property for the path to the new nuget package):

  • With the Visual Studio Solution closed, use something like the 'Search', 'Find in Files' feature in Notepad++ to search these files and make replacements:

    • Directory: (e.g. C:\Users<username>\source\repos\SilConverters)

    • Check the 'In all sub-folders' checkbox

    • Search Mode: Normal

    • Filters: packages.config

    • Find What: Encoding-Converters-Core" version="0.6.0

    • Replace With: Encoding-Converters-Core" version="0.6.1

    • Click the 'Replace in Files' button

    • Filters: *.*proj

    • Find What: packages\Encoding-Converters-Core.0.6.0

    • Replace With: packages\Encoding-Converters-Core.0.6.1

    • Click the 'Replace in Files' button

  • With File Explorer, delete these folders:

    • \build\Obj
    • \output\x86, x64, Release, Debug
    • \packages\Encoding-Converters-Core
  • Open Solution in Visual Studio, right-click on the Solution in the Solution Explorer and choose "Restore Nuget packages"

  • Close the solution (File, Close Solution) and reopen it (don't skip this step!)

  • Right-click the Solution in the Solution Explorer and choose 'Clean Solution' and then 'Rebuild All' (do this for each configuration you want)

  • Run the tests to make sure everything is working as expected.

silconverters's People

Contributors

bobeaton avatar devosb avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

silconverters's Issues

Run Time Error 429

I did a Zoom call with someone who was having trouble with the converter.

First of all we had to uninstall SIL Converters 3.1, then SIL Converters 5.0, then SIL Converters 5.0.0. I think we did it in that order and she did have to reboot once or twice in there.

She is on Windows 8.1 and using Office 365 and it's 64bit.

We installed the newest SIL Converters 5.0 from October 13 (SIL Converters x64 installer (for 64-bit Office) 5.0).

Then we opened Word and went to the Addins and tried to add the converter from there and got the attached error message.

RTE429

I don't know what that means or how to get around it.

I had her close Word and then we reopened it as "Administrator" and got the same error message.

But, in the end, we used the Bulk Word Converter and we could add the converter through that way. The Bulk Converter worked fine. Then we opened a doc in Word and another in Publisher and the converter that we had just added worked fine, so the problem was just in Add ins. Then, I asked her to go back to Add ins and try adding another converter and we got the same message.

Anyway, she's functional now since she doesn't think she'll need to add more converters, but I wondered if this was a bug anyone else encountered and if there is a known solution.

Update to Python 3.x

Currently Python 2.x can be used to write a converter. As Python 2.x is no longer supported, it would be nice to move to Python 3.x at some point.

Cannot use arrow keys in Word

Quotes from an email:

The "Uni-consistent-spellchecker" won't allow you to use arrow keys in Word. Can the uni-consistent-arrow-key-blocker be removed, fixed, or at least made a non-default option in the installer in the next release?

With that "shortcut" we saved a few people some keystrokes, but ended up hamstringing the rest of the population!

Bulk Word Document Converter only supports through 2013?

Both installers, when looking at the options for Bulk Word Document Converter , seems to indicate supporting only though 2013. This indication is both in the small explanation screen on the right of the installer, and in the menu option (you need to scroll to the right or use the hover over tooltip) to see all the text of the menu option. @bobeaton says I’ll test this, but it should support any version from 2003 (or 2016++ if x64 is installed). If so, can the installer text be improved? Below are two screen shots (the filename, showing the bitness, is below the images)

bulk_word_document_converter_x86
Bulk_word_document_converter_x86.png

bulk_word_document_converter_x64
Bulk_word_document_converter_x64.png

Can the wrong bitness installer proceed with setup?

The installer will check for the bitness of Office, and if there is a mismatch (say 32 installer and 64 bit Office), the install option SIL Converters for Office will be un-selected. That is good. If I select that option anyway, the installer seems to complete. I presume that feature will not work. Is that ability to override intentional?

Preamble for new mapping causes compiler error

When TECkit mapping editor creates a new file, it places the following two lines at the end of the preamble:

Left-hand range = 0000-007F
Right-hand range = 0000-007F

This causes compiler errors:

unexpected identifier: "Left" at line 8
unexpected identifier: "Right" at line 9

until these lines are commented out.

It seems that these are items used by the editor itself and should be commented out along with other items in the preamble.

Installer says Office plugins support only 2016/2019/365

Both installers, when looking at the options for SILConverters for Office, seems to indicate supporting 2016/2019/365. This indication is both in the small explanation screen on the right of the installer, and in the menu option (you need to scroll to the right or use the hover over tooltip) to see all the text of the menu option. @bobeaton says it should support Office back to 2003. If so, can the installer text be improved? Below are two screen shots (the filename, showing the bitness, is below the images)

sil_converters_for_office_x86
Sil_converters_for_office_x86.png

sil_converters_for_office_x64
Sil_converters_for_office_x64.png

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.