{"id":5219,"date":"2023-02-14T18:04:34","date_gmt":"2023-02-14T12:34:34","guid":{"rendered":"https:\/\/blog.tenthplanet.in\/?p=5219"},"modified":"2026-03-03T10:06:20","modified_gmt":"2026-03-03T10:06:20","slug":"installing-language-packs-in-compiere-erp","status":"publish","type":"post","link":"https:\/\/tenthplanet.in\/blogs\/installing-language-packs-in-compiere-erp\/","title":{"rendered":"How to Install Language Packs in Compiere ERP?"},"content":{"rendered":"<p><span data-contrast=\"auto\">Learn how to install an existing <\/span><a href=\"https:\/\/tenthplanet.in\/compiere\/\" rel=\"noopener\"><b><span data-contrast=\"none\">Compiere ERP<\/span><\/b><\/a><span data-contrast=\"auto\"> Language Pack or even create your own. A Language Pack is a collection of XML files containing the translations for a given language. Many of our Language Packs are available through the Compiere Exchange.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Note<\/span><\/b><span data-contrast=\"auto\">: Language Packs are version independent. If you apply an older language pack to a newer release of Compiere some of the newer items may remain untranslated.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<h2><b><span data-contrast=\"auto\">Installing a Language Pack<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:120,&quot;335559739&quot;:120}\">\u00a0<\/span><\/h2>\n<h3><b><span data-contrast=\"auto\">Prepare for Installation<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\"><br \/>\n<\/span><\/h3>\n<p><span data-contrast=\"auto\">Log in to Compiere with the System Administrator Role. In the &#8220;Language&#8221; Window search for your language then enable &#8220;System Language&#8221; and start Language Maintenance. Select &#8220;Add missing Translations&#8221;. This copies the English words into the translation areas.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Import the Translation<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">The Language Pack distribution is usually a zip file. Extract it to any directory &#8211; the default directory is COMPIERE_HOME\/data (e.g.: C:\\Compiere2\\data) , but it can be anywhere. The files have the format of &lt;table name&gt;_Trl_&lt;language&gt;.xml. Note that the language should be the same as activated in the preparation step (fr_FR is not the same as fr_CA). Example file name: AD_Element_Trl_fr_FR.xml<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Log into Compiere with the System Administrator Role. In the &#8220;Translation Import\/Export&#8221; Window leave the &#8220;Tenant&#8221; and &#8220;Table&#8221; selections empty and select your language. Click on &#8220;Import&#8221; and select the directory where the XML files reside. The translation is now applied to your system.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Language Pack Terminology Responsibility Please note that we as the Compiere team only provide the translation technology. If you are not happy with the terminology, please contact the vendor\/creator of the Language Pack directly.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<h2><b><span data-contrast=\"auto\">Creating a new Language Pack<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:120,&quot;335559739&quot;:120}\">\u00a0<\/span><\/h2>\n<h3><b><span data-contrast=\"auto\">Preparation<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Compiere&#8217;s base language is US English (en_US). The naming conventions are based Java locale identifiers. The &#8220;language&#8221; English UK uses the base English language, but uses the UK date format dd\/MM\/yy. The example used here is Fran\u00e7ais in France (fr_FR).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">With the System Administrator role start the Workflow &#8220;Language Setup&#8221; or start the &#8220;Language&#8221; Window and add the new language as a System Language (example: Language=fr_FR, Name=Fran\u00e7ais).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Start the &#8220;Verify Translation&#8221; process in the &#8220;Language&#8221; Window to create entries for the new language. Missing translations are copied from the base language (en_US).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Code Modification<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">As the next step, you need to modify the class org.compiere.util.Language. This is required since when you first start the client the database and available languages are unknown.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\u2022\" data-font=\"OpenSymbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:707,&quot;335559991&quot;:283,&quot;469769226&quot;:&quot;OpenSymbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">Locate the Languages static array and add the line: new Language (&#8220;Fran\u00e7ais&#8221;, &#8220;fr_FR&#8221;, Locale.FRANCE, null, null); <\/span><i><span data-contrast=\"auto\">If you set the last two parameters to null, the default for the decimal point and date format are derived from the locale. If the Java Runtime system does not have a predefined locale (LocaleFRANCE in the example), you need to define the two parameters.<\/span><\/i><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">In the &#8220;tenant&#8221;, &#8220;dbPort&#8221; and &#8220;install&#8221; modules &#8211; copy and translate the files:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\u2022\" data-font=\"OpenSymbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:707,&quot;335559991&quot;:283,&quot;469769226&quot;:&quot;OpenSymbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">org.compiere.apps.ALoginRes.java ==&gt; ALoginRes_fr.java (login screen)<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\u2022\" data-font=\"OpenSymbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:707,&quot;335559991&quot;:283,&quot;469769226&quot;:&quot;OpenSymbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">org.compiere.db.DBRes.java ==&gt; DBRes_fr.java (connection screen)<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\u2022\" data-font=\"OpenSymbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:707,&quot;335559991&quot;:283,&quot;469769226&quot;:&quot;OpenSymbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">org.compiere.install.SetupRes ==&gt; SetupRes_fr.java (server setup)<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\u2022\" data-font=\"OpenSymbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:707,&quot;335559991&quot;:283,&quot;469769226&quot;:&quot;OpenSymbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">org.compiere.plaf.PlafRes.java ==&gt; PlafRes_fr.java (user interface option screen)<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\u2022\" data-font=\"OpenSymbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:707,&quot;335559991&quot;:283,&quot;469769226&quot;:&quot;OpenSymbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">org.compiere.util.IniRes.java ==&gt; IniRes_fr.java (license dialog)<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">These screens are displayed before connecting to the database to get the translation.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Recompile the &#8220;tenant&#8221;, &#8220;dbPort&#8221; and &#8220;install&#8221; projects. If your language is not using the Latin-1 character set, you need to explicitly convert your local character set to ASCII; Examples for Cyrillic and Thai: native2ascii -encoding Cp1251 ALoginRes_bg.local ALoginRes_bg.java native2ascii -encoding MS874 ALoginRes_th.local ALoginRes_th.java For details see the documentation for Java <\/span><a href=\"https:\/\/docs.oracle.com\/javase\/1.4.2\/docs\/index.html\" rel=\"noopener\" target=\"_blank\"><span data-contrast=\"auto\">internationalization<\/span><\/a><span data-contrast=\"auto\"> and <\/span><a href=\"https:\/\/docs.oracle.com\/javase\/1.4.2\/docs\/tooldocs\/windows\/native2ascii.html\" rel=\"noopener\" target=\"_blank\"><span data-contrast=\"auto\">native2ascii<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Database Translation<\/span><\/b><span data-contrast=\"auto\"> Start the Compiere application. In Preferences (e.g. in the &#8220;Menu&#8221; window via File &gt; Preferences) select &#8220;Show Translation&#8221;.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">In the System Administrator Role in the &#8220;Language&#8221; Window, add your language as System Language and select &#8220;Verify Languages&#8221;.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Follow the Workflow &#8220;Language Setup&#8221; to translate the different elements. Please note that if you translate a term in the &#8220;Element&#8221; Window, all Fields and Parameters are translated as well, if they are centrally maintained. After translating the &#8220;Window,&#8221; &#8220;Process,&#8221; &#8220;Tasks&#8221; and &#8220;Workflow&#8221; Windows, run the process &#8220;Synchronize Terminology&#8221; to indirectly translate the Menu.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Suggested translation sequence of main components (follow &#8220;Translation&#8221; Workflow):<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\u2022\" data-font=\"OpenSymbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:707,&quot;335559991&quot;:283,&quot;469769226&quot;:&quot;OpenSymbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">Element<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\u2022\" data-font=\"OpenSymbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:707,&quot;335559991&quot;:283,&quot;469769226&quot;:&quot;OpenSymbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">Window, Tab<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\u2022\" data-font=\"OpenSymbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:707,&quot;335559991&quot;:283,&quot;469769226&quot;:&quot;OpenSymbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">Process<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\u2022\" data-font=\"OpenSymbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335551671&quot;:0,&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:707,&quot;335559991&quot;:283,&quot;469769226&quot;:&quot;OpenSymbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\u2022&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}\" data-aria-posinset=\"0\" data-aria-level=\"1\"><span data-contrast=\"auto\">Reference (List)<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><b><span data-contrast=\"auto\">File Translation<\/span><\/b><span data-contrast=\"auto\"> As an alternative to a translation in the database, you can export the translation into an XML file and then translate it with professional translation tools (translation tools allow tag protection, so that you only modify the translation).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Procedure <\/span><\/b><span data-contrast=\"auto\">To export the files, run RUN_TrlExport in the &#8220;utils&#8221; directory. The file exports the German (de_DE) translation in the standard directory data\/de_DE. Just modify the AD_LANGUAGE variable. Only records not centrally maintained are exported. If the language and translation does not exist in the database, it is created.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To import the translated files, execute RUN_TrlImport (after changing the AD_LANGUAGE variable). If the language and translation does not exist in the database, it is created.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">As an alternative to this Batch procedure, you can start the &#8220;Translation Import\/Export&#8221; Window in the System Administrator role.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Effective Translation<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:120,&quot;335559739&quot;:120}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Translation is an ongoing project as new or changed elements need to be translated. Consequently, you ideally need to be able to automatically translate the material. There are lot of translation tools available, which decrease the effort tremendously and also ensure consistent translation.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Your general procedure looks like this:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<ol>\n<li><span data-contrast=\"auto\">Create your Glossary &#8211; here you define the terminology and their translation, e.g. &#8220;Account = Konto&#8221;. The more time you spend here, the better your translation quality. There are tools to extract the terminology, and the AD_Element is the ideal basis for this.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">Translate the files &#8211; based on the suggested initial (raw) automatic translation. While you are translating, it builds your &#8220;translation memory&#8221;, so that the same and similar phrases are translated automatically.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<li><span data-contrast=\"auto\">Updates are now easy &#8211; you run the new\/changed file against your translation memory and you are only prompted for new constructs.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/li>\n<\/ol>\n<h3><b><span data-contrast=\"auto\">Distribution<\/span><\/b><span data-ccp-props=\"{&quot;335559738&quot;:120,&quot;335559739&quot;:120}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Create a zip file with your translations and the modified RUN_TrlImport for your language. You can add the translations in CVS and publicly share it, or sell it to recover the cost of your translation effort.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:140,&quot;335559740&quot;:288}\">\u00a0<\/span><\/p>\n<h2 style=\"text-align: center\"><b><span data-contrast=\"auto\">Get in Touch with TenthPlanet, If you are looking for Compiere ERP support services.<\/span><\/b><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>Step by step instructions on how to install language packs in your Compiere ERP application<\/p>\n","protected":false},"author":23,"featured_media":5254,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[350],"tags":[419],"class_list":["post-5219","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-compiere","tag-compiere-erp-installation"],"_links":{"self":[{"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/posts\/5219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/comments?post=5219"}],"version-history":[{"count":0,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/posts\/5219\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/media\/5254"}],"wp:attachment":[{"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/media?parent=5219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/categories?post=5219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tenthplanet.in\/blogs\/wp-json\/wp\/v2\/tags?post=5219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}