CINXE.COM
Translating Guide for OJS, OMP, OPS, and PKP Software Documentation
<!DOCTYPE html> <html lang="en-US"> <title>Translating Guide for OJS, OMP, OPS, and PKP Software Documentation</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta property="og:title" content="Translating Guide for OJS, OMP, OPS, and PKP Software Documentation" /> <meta property="og:site_name" content="PKP Docs"> <meta name="description" content="A guide to translating PKP software and documentation, including Open Journal Systems (OJS), Open Monograph Press (OMP), and Open Preprint Systems (OPS)"> <meta property="og:description" content="A guide to translating PKP software and documentation, including Open Journal Systems (OJS), Open Monograph Press (OMP), and Open Preprint Systems (OPS)"> <meta property="og:url" content="https://docs.pkp.sfu.ca/translating-guide/en/"> <link type="text/css" href="/css/book.css" rel="stylesheet" media="all"> <script defer src="/assets/js/smooth-scroll.polyfills.min.js"></script> <script defer src="/assets/js/fontawesome.min.js"></script> <body class="body--withSidebar"> <div class="bookHeader"> <button id="sidebarControl" class="bookHeader__sidebarControl"> <span class="fa fa-bars" aria-hidden="true"></span> <span class="fa fa-times" aria-hidden="true"></span> <span class="-screenReader">Toggle Menu</span> </button> <a class="bookHeader__logo" href="/"> <img src="/img/logo-on-white.png" alt="PKP Docs" class="bookHeader__logoImage"> </a> <div class="bookHeaderTools"> <div class="versions"> <span class="version version--current">3.2</span> <a href="/translating-guide/3.1/" class="version">3.1</a> </div> </div> </div> <div class="book"> <a href="#sidebar" class="-screenReader"> Jump to table of contents </a> <div class="book__page"> <div class="book__content"> <div class="book__improve"> <a href="https://github.com/pkp/pkp-docs/edit/main/translating-guide/en/README.md"> Edit this page </a> or <a href="https://pkp.sfu.ca/documentation-feedback/"> make a suggestion </a> </div> <h1 id="pkp-translating-guide"> PKP Translating Guide </h1> <p>The PKP Translating Guide is for users who want to create or edit a translation of a Public Knowledge Project (PKP) software application or PKP software documentation. It explains how languages and locales work, how to create new translations and edit existing translations, how to customize a translation locally, and how to work with the translation community.</p> <p>Instructions for configuring site languages in PKP software can be found in the <a href="/learning-ojs/en/site-administration#languages">Site Administration section of the Learning OJS guide</a>.</p> <p>Open Journal Systems (OJS), Open Monograph Press (OMP), and Open Preprint Systems (OPS) are multilingual. This allows the software interface to be available in different languages and allows journals, presses, and preprint servers to publish in a variety of languages. PKP aims to support English, French, Spanish, and Portuguese translations for OJS. Community members have translated OJS, OMP, and OPS into many additional languages and we welcome contributions at any time. Translations need to be updated each time a new version of the software is released.</p> <p>Starting with OJS/OMP 3.2, PKP is using Weblate to manage and do translations of OJS and OMP. Previously PKP used the Translator Plugin and direct editing of the XML locale files. <a href="/translating-guide/3.1/en/">The previous version of the PKP Translating Guide</a> explains how to translate with these tools. This guide explains how to use Weblate, as well as how to customize a translation locally using the Custom Locale Plugin.</p> <p><a href="https://docs.pkp.sfu.ca/">PKP’s documentation</a> can be translated into any language using Crowdin and this guide explains how to use it.</p> <p>This guide also has a chapter on localization for developers of OJS, OMP, and OPS, to ensure your development contributions support multiple languages.</p> <hr> <p>Copyright: Simon Fraser University holds the copyright for work produced by the Public Knowledge Project and has placed its documentation under a <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.</p> <p><a href="https://creativecommons.org/licenses/by/4.0/"><img src="https://licensebuttons.net/l/by/4.0/88x31.png" alt="Creative Commons Attribution 4.0 International" title="Creative Commons Attribution 4.0 International" /></a></p> <div class="book__footer"> <div class="book__improve"> <a href="https://github.com/pkp/pkp-docs/edit/main/translating-guide/en/README.md"> Edit this page </a> or <a href="https://pkp.sfu.ca/documentation-feedback/"> make a suggestion </a> </div> </div> </div> </div> <div class="book__sidebarScreen"></div> <div id="sidebar" class="book__sidebar"> <div class="book__summary"> <h1 id="summary">Summary</h1> <ul> <li><a href=".">Introduction</a></li> <li><a href="managing-languages">Manage Languages in PKP Software</a> <ul> <li><a href="./managing-languages#how-languages-and-locales-work">How Languages and Locales Work</a></li> <li><a href="./managing-languages#check-language-availability">Check Language Availability</a></li> <li><a href="./managing-languages#install-a-language">Install a Language</a></li> <li><a href="./managing-languages#default-translation-plugin">Default Translation Plugin</a></li> </ul> </li> <li><a href="translate-software">Translate PKP Software</a> <ul> <li><a href="./translate-software#get-started">Get Started</a></li> <li><a href="./translate-software#how-content-is-organized-in-weblate">How Content Is Organized</a></li> <li><a href="./translate-software#update-an-existing-translation">Update an Existing Translation</a></li> <li><a href="./translate-software#begin-a-new-translation">Begin a New Translation</a></li> </ul> </li> <li><a href="customize-locale">Customize a Translation Locally</a> <ul> <li><a href="customize-locale#install-and-enable-the-custom-locale-plugin">Install and Enable the Custom Locale Plugin</a></li> <li><a href="customize-locale#how-the-custom-locale-plugin-works">How the Custom Locale Plugin Works</a></li> <li><a href="customize-locale#find-the-locale-file-to-edit">Find the Locale File to Edit</a></li> <li><a href="customize-locale#edit-the-message-key">Edit the Message Key</a></li> <li><a href="customize-locale#example-customize-reviewer-recommendations">Example: Customize Reviewer Recommendations</a></li> <li><a href="customize-locale#example-customize-the-current-issue-label-on-homepage">Example: Customize the “Current Issue” label on homepage</a></li> </ul> </li> <li><a href="translate-documentation">Translate PKP Documentation</a> <ul> <li><a href="./translate-documentation#pkp-documentation">PKP Documentation</a></li> <li><a href="./translate-documentation#documentation-translation-workflow">Documentation Translation Workflow</a></li> <li><a href="./translate-documentation#get-started">Get Started</a></li> <li><a href="./translate-documentation#translating-in-crowdin">Translating in Crowdin</a></li> <li><a href="./translate-documentation#proofreading-documentation-translation">Proofreading Documentation Translation</a></li> <li><a href="./translate-documentation#maintain-or-update-a-document-translation">Maintain or Update a Document Translation</a></li> <li><a href="./translate-documentation#improve-a-document-translation">Improve a Document Translation</a></li> <li><a href="./translate-documentation#translate-without-crowdin">Translate without Crowdin</a></li> </ul> </li> <li><a href="coders">Localization for Developers</a> <ul> <li><a href="./coders#locale-files">Locale Files</a></li> </ul> </li> <li><a href="resources">Translation Resources and Community</a> <ul> <li><a href="./resources#thanks">Thanks</a></li> </ul> </li> </ul> </div> <div class="book__backToHub"> <span class="fa fa-long-arrow-alt-left" aria-hidden="true"></span> <p>Back to <a href="/">all documentation</a>.</p> </div> <div class="book__spacer"></div> </div> </div> <div class="book__footerWrapper"> <div class="siteFooter"> <nav class="siteFooter__container"> <div class="siteFooter__top"> <div class="siteFooter__nav"> <div class="siteFooter__navHeader"> Contact Us </div> <p>Have a question or suggestion about PKP’s documentation and user guides? <a href="https://pkp.sfu.ca/documentation-feedback/">Use our documentation contact form</a>.</p> <p>If your message is not about documentation, please use the general <a href="https://pkp.sfu.ca/contact-us/">contact form</a>.</p> </div> <div class="siteFooter__nav"> <div class="siteFooter__navHeader"> Community </div> <p><a href="https://pkp.sfu.ca/documentation-interest-group/">Documentation Interest Group</a></p> <p><a href="/contributing/en/">Contributing Documentation</a></p> <p><a href="/translating-guide/">Translating Guide</a></p> <p><a href="https://forum.pkp.sfu.ca">Community Forum</a></p> </div> <div class="siteFooter__nav"> <div class="siteFooter__navHeader"> About </div> <p><a href="https://pkp.sfu.ca">Public Knowledge Project</a></p> <p><a href="https://pkpservices.sfu.ca/">PKP|Publishing Services</a></p> </div> <div class="siteFooter__logo"> <a href="https://pkp.sfu.ca"> <img src="/img/logo-on-grey.png" alt="Public Knowledge Project"> </a> <p>The Public Knowledge Project is a Core Facility of Simon Fraser University</p> <p>888 University Drive, Burnaby, B.C., Canada V5A 1S6</p> <p>We respectfully acknowledge that SFU occupies the unceded traditional territories of the Coast Salish peoples of the Musqueam, Squamish, and Tsleil-Waututh Nations.</p> </div> </div> <div class="siteFooter__bottom"> <p class="footer-copyright"><span class="terms-text"><a href="https://www.sfu.ca/contact/terms-conditions.html" target="_blank">TERMS & CONDITIONS</a> © SIMON FRASER UNIVERSITY.</span><span class="copyright-text"><img src="/img/creativecommons.svg" alt="Creative Commons logo" /><img src="/img/attribution.svg" alt="Attribution icon" /><a href="https://creativecommons.org/licenses/by/2.0/" target="_blank">CC-BY 2.0</a></span><span class="footer-copyright-separator"> | </span><span class="ab-link">Website by <a target="_blank" href="https://www.affinitybridge.com">Affinity Bridge</a></span></p> </div> </div> </div> </div> <script type="text/javascript">/** * Toggle the sidebar open/closed */ (function() { var sidebar = document.getElementById('sidebar'); var sidebarControl = document.getElementById('sidebarControl'); var isOpen = false; var sidebarOpenClass = ' -sidebarIsOpen'; if (!sidebar || !sidebarControl) { return; } // Toggle sidebar function toggle() { if (isOpen) { document.body.className = document.body.className.replace(new RegExp(sidebarOpenClass, 'g'), ''); } else { document.body.className = document.body.className + sidebarOpenClass; } isOpen = !isOpen; } sidebarControl.addEventListener('click', toggle); })(); </script> <script type="text/javascript">/** * Initialize smooth scrolling to anchor links * * See: https://github.com/cferdinandi/smooth-scroll */ (function() { function init() { if (typeof SmoothScroll === 'undefined') { setTimeout(init, 500); } else { var scroll = new SmoothScroll('a[href*="#"]', {easing: 'easeInOutCubic', offset:80}); } } init(); })(); </script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-130558797-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-130558797-1'); </script> <!-- Hotjar Tracking Code for docs.pkp.sfu.ca --> <script> (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:2436159,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); </script> <!-- Piwik/Matomo --> <script type="text/javascript"> var _paq = _paq || []; _paq.push(["setDocumentTitle", document.domain + "/" + document.title]); _paq.push(["setCookieDomain", "*.docs.pkp.sfu.ca"]); _paq.push(["setDomains", ["*.docs.pkp.sfu.ca"]]); _paq.push(["trackPageView"]); _paq.push(["enableLinkTracking"]); (function() { var u = (("https:" == document.location.protocol) ? "https" : "http") + "://" + "matomo.publicknowledgeproject.org/pkp/"; _paq.push(["setTrackerUrl", u + "piwik.php"]); _paq.push(["setSiteId", "40"]); var d = document, g = d.createElement("script"), s = d.getElementsByTagName("script")[0]; g.type = "text/javascript"; g.defer = true; g.async = true; g.src = u + "piwik.js"; s.parentNode.insertBefore(g, s); })(); </script> <!-- End Piwik Code --> </body> </html>