A Better Approach to Language Packs?

Discussion created by rh0071219 on Jun 18, 2018
Latest reply on Jun 28, 2018 by emunoz

We're an SaaS FDO school, with a very complex custom language pack that we use in our Blackboard instance. Each time we update our system, we have to update the Language Pack as well. When this happens, several hundred changes need to be applied to the Language Pack.  I'm wondering if anyone else who has a similar scenario with a more streamlined approach than I.


When we upgraded from SaaS 3300 to 3400, here's what I did...


  1. Downloaded the default 3400 Language Pack to my workstation and unzipped the archive.
  2. Edited the bb-lp-manifest.xml file to reflect the new name (English (My School 3400)) and ID (en_US_myschool_3400) of the Language Pack.
  3. Changed the name of the subfolder containing all the Language Pack files to match the ID I used in the XML document (en_US_myschool_3400).
  4. Launched Atom (a cross-platform programming text editor) and loaded the entire project (all the subfolders and documents) into memory.
  5. Performed a series of search/replace operations on the project to make the new Language Pack match institutional requirements.
  6. Reviewed the changes (there were several hundred of them).
  7. Repackaged the Language Pack and uploaded it into Bb as a new Language Pack.
  8. Set the new Language Pack as default.


It worked, and all is well, but I'd like to streamline the process.


I'd considered using Notepad++ and recording a macro to handle the search-replace functions.  While that would certainly save some time, it would tether me to a specific PC unless I shared the macro with another machine and went through the trouble of adding the macro to the Notepad++ macros for that machine.  And it still means I'd have to run the job on a PC and couldn't use a Mac or Linux box. 


Ultimately, I could write a program to do the work for me. The logic is pretty straightforward, but I don't want to reinvent the wheel if it already exists. 


So if anyone else has a practice that works better or if there is a solution out there that I'm not aware of, I'm all ears.




Rodney Hargis

Princeton University