From 5e659135a13e60d33091361bcb499cbc9d88c084 Mon Sep 17 00:00:00 2001 From: FairWind Date: Thu, 8 Oct 2015 23:35:53 +0300 Subject: [PATCH] create test interface for contacttype --- .idea/artifacts/DocumentsDB_war_exploded.xml | 75 + ...mentsDB___DocumentsDB_1_0_SNAPSHOT_war.xml | 2 +- ...ocumentsDB_1_0_SNAPSHOT_war__exploded_.xml | 2 +- ..._com_goldmansachs_gs_collections_5_1_0.xml | 11 + ..._goldmansachs_gs_collections_api_5_1_0.xml | 11 + .../Gradle__com_lmax_disruptor_3_2_1.xml | 11 + .../Gradle__io_gatling_jsr166e_1_0.xml | 11 + ...se_persistence_javax_persistence_2_1_0.xml | 9 + ...jectreactor_reactor_core_1_1_6_RELEASE.xml | 11 + ..._spring_integration_core_4_1_5_RELEASE.xml | 11 + ...n_spring_integration_jpa_4_1_5_RELEASE.xml | 11 + ...ework_retry_spring_retry_1_1_2_RELEASE.xml | 11 + ...y_spring_security_config_3_2_7_RELEASE.xml | 11 + ...amework_spring_messaging_4_1_7_RELEASE.xml | 11 + build.gradle | 2 +- .../META-INF/MANIFEST.MF | 2 + .../controllers/ContactTypeController.java | 12 + src/main/webapp/resources/demo2/Changes.txt | 1160 ++++++++++++++ .../resources/demo2/i18n/grid.locale-ar.js | 166 ++ .../resources/demo2/i18n/grid.locale-bg.js | 172 ++ .../resources/demo2/i18n/grid.locale-ca.js | 168 ++ .../resources/demo2/i18n/grid.locale-cn.js | 207 +++ .../resources/demo2/i18n/grid.locale-cs.js | 168 ++ .../resources/demo2/i18n/grid.locale-de.js | 215 +++ .../resources/demo2/i18n/grid.locale-dk.js | 168 ++ .../resources/demo2/i18n/grid.locale-el.js | 166 ++ .../resources/demo2/i18n/grid.locale-en.js | 208 +++ .../resources/demo2/i18n/grid.locale-es.js | 168 ++ .../resources/demo2/i18n/grid.locale-fa.js | 185 +++ .../resources/demo2/i18n/grid.locale-fi.js | 169 ++ .../resources/demo2/i18n/grid.locale-fr.js | 166 ++ .../resources/demo2/i18n/grid.locale-gl.js | 166 ++ .../resources/demo2/i18n/grid.locale-he.js | 167 ++ .../resources/demo2/i18n/grid.locale-hr.js | 202 +++ .../resources/demo2/i18n/grid.locale-hu.js | 169 ++ .../resources/demo2/i18n/grid.locale-id.js | 208 +++ .../resources/demo2/i18n/grid.locale-is.js | 166 ++ .../resources/demo2/i18n/grid.locale-it.js | 47 + .../resources/demo2/i18n/grid.locale-ja.js | 196 +++ .../resources/demo2/i18n/grid.locale-kr.js | 168 ++ .../resources/demo2/i18n/grid.locale-lt.js | 168 ++ .../resources/demo2/i18n/grid.locale-me.js | 168 ++ .../resources/demo2/i18n/grid.locale-nl.js | 189 +++ .../resources/demo2/i18n/grid.locale-no.js | 75 + .../resources/demo2/i18n/grid.locale-pl.js | 172 ++ .../resources/demo2/i18n/grid.locale-pt-br.js | 176 ++ .../resources/demo2/i18n/grid.locale-pt.js | 165 ++ .../resources/demo2/i18n/grid.locale-ro.js | 179 +++ .../resources/demo2/i18n/grid.locale-ru.js | 169 ++ .../resources/demo2/i18n/grid.locale-sk.js | 167 ++ .../demo2/i18n/grid.locale-sr-latin.js | 168 ++ .../resources/demo2/i18n/grid.locale-sr.js | 168 ++ .../resources/demo2/i18n/grid.locale-sv.js | 167 ++ .../resources/demo2/i18n/grid.locale-th.js | 168 ++ .../resources/demo2/i18n/grid.locale-tr.js | 166 ++ .../resources/demo2/i18n/grid.locale-tw.js | 169 ++ .../resources/demo2/i18n/grid.locale-ua.js | 158 ++ .../resources/demo2/i18n/grid.locale-uk.js | 167 ++ .../resources/demo2/i18n/grid.locale-vi.js | 208 +++ src/main/webapp/resources/demo2/install.txt | 43 + .../resources/demo2/jquery-1.11.0.min.js | 4 + .../webapp/resources/demo2/jquery-ui.min.js | 13 + .../demo2/jquery-ui.structure.min.css | 5 + .../resources/demo2/jquery-ui.theme.min.css | 5 + .../resources/demo2/jquery.jqGrid.min.js | 1426 +++++++++++++++++ .../resources/demo2/plugins/grid.addons.js | 704 ++++++++ .../resources/demo2/plugins/grid.postext.js | 64 + .../demo2/plugins/grid.setcolumns.js | 126 ++ .../demo2/plugins/jquery.contextmenu.js | 147 ++ .../demo2/plugins/jquery.searchFilter.js | 716 +++++++++ .../demo2/plugins/jquery.tablednd.js | 383 +++++ .../resources/demo2/plugins/searchFilter.css | 6 + .../demo2/plugins/ui.multiselect.css | 30 + .../resources/demo2/plugins/ui.multiselect.js | 314 ++++ src/main/webapp/resources/demo2/test.html | 278 ++++ .../demo2/ui.jqgrid-bootstrap-ui.css | 31 + .../resources/demo2/ui.jqgrid-bootstrap.css | 854 ++++++++++ src/main/webapp/resources/demo2/ui.jqgrid.css | 266 +++ src/main/webapp/resources/mydemo/test.html | 117 +- 79 files changed, 13879 insertions(+), 9 deletions(-) create mode 100644 .idea/artifacts/DocumentsDB_war_exploded.xml create mode 100644 .idea/libraries/Gradle__com_goldmansachs_gs_collections_5_1_0.xml create mode 100644 .idea/libraries/Gradle__com_goldmansachs_gs_collections_api_5_1_0.xml create mode 100644 .idea/libraries/Gradle__com_lmax_disruptor_3_2_1.xml create mode 100644 .idea/libraries/Gradle__io_gatling_jsr166e_1_0.xml create mode 100644 .idea/libraries/Gradle__org_eclipse_persistence_javax_persistence_2_1_0.xml create mode 100644 .idea/libraries/Gradle__org_projectreactor_reactor_core_1_1_6_RELEASE.xml create mode 100644 .idea/libraries/Gradle__org_springframework_integration_spring_integration_core_4_1_5_RELEASE.xml create mode 100644 .idea/libraries/Gradle__org_springframework_integration_spring_integration_jpa_4_1_5_RELEASE.xml create mode 100644 .idea/libraries/Gradle__org_springframework_retry_spring_retry_1_1_2_RELEASE.xml create mode 100644 .idea/libraries/Gradle__org_springframework_security_spring_security_config_3_2_7_RELEASE.xml create mode 100644 .idea/libraries/Gradle__org_springframework_spring_messaging_4_1_7_RELEASE.xml create mode 100644 out/artifacts/DocumentsDB/exploded/DocumentsDB-1.0-SNAPSHOT.war/META-INF/MANIFEST.MF create mode 100644 src/main/webapp/resources/demo2/Changes.txt create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-ar.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-bg.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-ca.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-cn.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-cs.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-de.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-dk.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-el.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-en.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-es.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-fa.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-fi.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-fr.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-gl.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-he.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-hr.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-hu.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-id.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-is.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-it.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-ja.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-kr.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-lt.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-me.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-nl.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-no.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-pl.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-pt-br.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-pt.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-ro.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-ru.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-sk.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-sr-latin.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-sr.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-sv.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-th.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-tr.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-tw.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-ua.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-uk.js create mode 100644 src/main/webapp/resources/demo2/i18n/grid.locale-vi.js create mode 100644 src/main/webapp/resources/demo2/install.txt create mode 100644 src/main/webapp/resources/demo2/jquery-1.11.0.min.js create mode 100644 src/main/webapp/resources/demo2/jquery-ui.min.js create mode 100644 src/main/webapp/resources/demo2/jquery-ui.structure.min.css create mode 100644 src/main/webapp/resources/demo2/jquery-ui.theme.min.css create mode 100644 src/main/webapp/resources/demo2/jquery.jqGrid.min.js create mode 100644 src/main/webapp/resources/demo2/plugins/grid.addons.js create mode 100644 src/main/webapp/resources/demo2/plugins/grid.postext.js create mode 100644 src/main/webapp/resources/demo2/plugins/grid.setcolumns.js create mode 100644 src/main/webapp/resources/demo2/plugins/jquery.contextmenu.js create mode 100644 src/main/webapp/resources/demo2/plugins/jquery.searchFilter.js create mode 100644 src/main/webapp/resources/demo2/plugins/jquery.tablednd.js create mode 100644 src/main/webapp/resources/demo2/plugins/searchFilter.css create mode 100644 src/main/webapp/resources/demo2/plugins/ui.multiselect.css create mode 100644 src/main/webapp/resources/demo2/plugins/ui.multiselect.js create mode 100644 src/main/webapp/resources/demo2/test.html create mode 100644 src/main/webapp/resources/demo2/ui.jqgrid-bootstrap-ui.css create mode 100644 src/main/webapp/resources/demo2/ui.jqgrid-bootstrap.css create mode 100644 src/main/webapp/resources/demo2/ui.jqgrid.css diff --git a/.idea/artifacts/DocumentsDB_war_exploded.xml b/.idea/artifacts/DocumentsDB_war_exploded.xml new file mode 100644 index 0000000..8960a1d --- /dev/null +++ b/.idea/artifacts/DocumentsDB_war_exploded.xml @@ -0,0 +1,75 @@ + + + $PROJECT_DIR$/out/artifacts/DocumentsDB_war_exploded + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/Gradle___ua_pp_fairwind_favorit_DocumentsDB___DocumentsDB_1_0_SNAPSHOT_war.xml b/.idea/artifacts/Gradle___ua_pp_fairwind_favorit_DocumentsDB___DocumentsDB_1_0_SNAPSHOT_war.xml index 0025fe9..89dc77b 100644 --- a/.idea/artifacts/Gradle___ua_pp_fairwind_favorit_DocumentsDB___DocumentsDB_1_0_SNAPSHOT_war.xml +++ b/.idea/artifacts/Gradle___ua_pp_fairwind_favorit_DocumentsDB___DocumentsDB_1_0_SNAPSHOT_war.xml @@ -72,7 +72,7 @@ - + diff --git a/.idea/artifacts/Gradle___ua_pp_fairwind_favorit_DocumentsDB___DocumentsDB_1_0_SNAPSHOT_war__exploded_.xml b/.idea/artifacts/Gradle___ua_pp_fairwind_favorit_DocumentsDB___DocumentsDB_1_0_SNAPSHOT_war__exploded_.xml index 00bced0..29b070c 100644 --- a/.idea/artifacts/Gradle___ua_pp_fairwind_favorit_DocumentsDB___DocumentsDB_1_0_SNAPSHOT_war__exploded_.xml +++ b/.idea/artifacts/Gradle___ua_pp_fairwind_favorit_DocumentsDB___DocumentsDB_1_0_SNAPSHOT_war__exploded_.xml @@ -72,7 +72,7 @@ - + diff --git a/.idea/libraries/Gradle__com_goldmansachs_gs_collections_5_1_0.xml b/.idea/libraries/Gradle__com_goldmansachs_gs_collections_5_1_0.xml new file mode 100644 index 0000000..9f3c51e --- /dev/null +++ b/.idea/libraries/Gradle__com_goldmansachs_gs_collections_5_1_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_goldmansachs_gs_collections_api_5_1_0.xml b/.idea/libraries/Gradle__com_goldmansachs_gs_collections_api_5_1_0.xml new file mode 100644 index 0000000..67818cb --- /dev/null +++ b/.idea/libraries/Gradle__com_goldmansachs_gs_collections_api_5_1_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__com_lmax_disruptor_3_2_1.xml b/.idea/libraries/Gradle__com_lmax_disruptor_3_2_1.xml new file mode 100644 index 0000000..2e5f203 --- /dev/null +++ b/.idea/libraries/Gradle__com_lmax_disruptor_3_2_1.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__io_gatling_jsr166e_1_0.xml b/.idea/libraries/Gradle__io_gatling_jsr166e_1_0.xml new file mode 100644 index 0000000..88dab3b --- /dev/null +++ b/.idea/libraries/Gradle__io_gatling_jsr166e_1_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_eclipse_persistence_javax_persistence_2_1_0.xml b/.idea/libraries/Gradle__org_eclipse_persistence_javax_persistence_2_1_0.xml new file mode 100644 index 0000000..fab5aec --- /dev/null +++ b/.idea/libraries/Gradle__org_eclipse_persistence_javax_persistence_2_1_0.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_projectreactor_reactor_core_1_1_6_RELEASE.xml b/.idea/libraries/Gradle__org_projectreactor_reactor_core_1_1_6_RELEASE.xml new file mode 100644 index 0000000..6ff36cb --- /dev/null +++ b/.idea/libraries/Gradle__org_projectreactor_reactor_core_1_1_6_RELEASE.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_springframework_integration_spring_integration_core_4_1_5_RELEASE.xml b/.idea/libraries/Gradle__org_springframework_integration_spring_integration_core_4_1_5_RELEASE.xml new file mode 100644 index 0000000..783ac48 --- /dev/null +++ b/.idea/libraries/Gradle__org_springframework_integration_spring_integration_core_4_1_5_RELEASE.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_springframework_integration_spring_integration_jpa_4_1_5_RELEASE.xml b/.idea/libraries/Gradle__org_springframework_integration_spring_integration_jpa_4_1_5_RELEASE.xml new file mode 100644 index 0000000..fa47ad3 --- /dev/null +++ b/.idea/libraries/Gradle__org_springframework_integration_spring_integration_jpa_4_1_5_RELEASE.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_springframework_retry_spring_retry_1_1_2_RELEASE.xml b/.idea/libraries/Gradle__org_springframework_retry_spring_retry_1_1_2_RELEASE.xml new file mode 100644 index 0000000..d9c8629 --- /dev/null +++ b/.idea/libraries/Gradle__org_springframework_retry_spring_retry_1_1_2_RELEASE.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_springframework_security_spring_security_config_3_2_7_RELEASE.xml b/.idea/libraries/Gradle__org_springframework_security_spring_security_config_3_2_7_RELEASE.xml new file mode 100644 index 0000000..3f1ad78 --- /dev/null +++ b/.idea/libraries/Gradle__org_springframework_security_spring_security_config_3_2_7_RELEASE.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Gradle__org_springframework_spring_messaging_4_1_7_RELEASE.xml b/.idea/libraries/Gradle__org_springframework_spring_messaging_4_1_7_RELEASE.xml new file mode 100644 index 0000000..8680eaf --- /dev/null +++ b/.idea/libraries/Gradle__org_springframework_spring_messaging_4_1_7_RELEASE.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index cc3f305..14590da 100644 --- a/build.gradle +++ b/build.gradle @@ -28,7 +28,7 @@ dependencies { compile 'org.springframework.security:spring-security-web' compile 'org.springframework.security:spring-security-taglibs' //SPIRNG JPS+HIBERNATE (связка для работы с БД) - compile 'org.springframework.integration:spring-integration-jpa' + //compile 'org.springframework.integration:spring-integration-jpa' compile 'org.springframework.data:spring-data-jpa' compile 'com.mysema.querydsl:querydsl-core' compile 'com.mysema.querydsl:querydsl-jpa' diff --git a/out/artifacts/DocumentsDB/exploded/DocumentsDB-1.0-SNAPSHOT.war/META-INF/MANIFEST.MF b/out/artifacts/DocumentsDB/exploded/DocumentsDB-1.0-SNAPSHOT.war/META-INF/MANIFEST.MF new file mode 100644 index 0000000..59499bc --- /dev/null +++ b/out/artifacts/DocumentsDB/exploded/DocumentsDB-1.0-SNAPSHOT.war/META-INF/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/src/main/java/ua/pp/fairwind/favorid/internalDB/controllers/ContactTypeController.java b/src/main/java/ua/pp/fairwind/favorid/internalDB/controllers/ContactTypeController.java index 8f3c5a3..3428d45 100644 --- a/src/main/java/ua/pp/fairwind/favorid/internalDB/controllers/ContactTypeController.java +++ b/src/main/java/ua/pp/fairwind/favorid/internalDB/controllers/ContactTypeController.java @@ -5,6 +5,8 @@ import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @@ -37,4 +39,14 @@ public JGridRowsResponse getTable(HttpServletRequest request){ return new JGridRowsResponse(repositoryContactType.findAll()); } + @Transactional(readOnly = false) + @RequestMapping(value = "/add", method = RequestMethod.POST) + @ResponseBody + public String add(@ModelAttribute ContactType contactType, BindingResult result){ + if(result.hasErrors()){ + return "ERROR:"+result.toString(); + } + repositoryContactType.save(contactType); + return "Success"; + } } diff --git a/src/main/webapp/resources/demo2/Changes.txt b/src/main/webapp/resources/demo2/Changes.txt new file mode 100644 index 0000000..4494fbd --- /dev/null +++ b/src/main/webapp/resources/demo2/Changes.txt @@ -0,0 +1,1160 @@ +3.6 version +=========== +Bug Fixes +--------- + * Fix problem with getAbsoluteIndex on IE8 + * Fix in triggerReload grid to reset the savedRow array. + * Fix in setGridWidth method when try to resize a grid a and there is no data. + * Fix header aligment in ie8 + * Fix in createEl function to check for val and not for html when select + * making getChangedCells method compatible with unformat function if defined + * Fixed record count when scroll true + * Fix in setSelection method to accept numbers + * Fix IE header checkbox when multiselect is true + * Fix for searching DOM elements with id containing special characters + * Fix a checkbox checking in form editing module. + * Fix getCol to use unformat function + * Better looking buttons in form editing + * Fix searchFilter in IE7 and IE6 not to return undefined value when more +than one field is searched. + * Some fixes for datepicker UI in inline and cell edit (when present) + * Fix in setLabel method not to clear the sort icons when we set new label + * Fix in form edit when a formatter select is used + * Fix the id pollution when multiselect is enabled. Now the id of every +common multiselect is combination of cb_ + id of the grid + * Fixed bug when deselectAfterSort false and we are in multiselect mode + * Fix in unformat number and currency + * Fixed bug when creating a select with dataUrl and select is set to multiple. + * Fix a bug when creating select with multiple option. Also the attribute +should be set immediatley after the element is created and not after. + * Fix a bug in form edit. The comapared values should be trimed since of +split(",") which cause the elements to begin with space. + * Fix a jqGrid loader (development version) for IE browsers + * Fix for form icons in Opera + * Fix getGridParam to return values 0 or false + * Avoiding the overhead of local functions and maintenance issues when the +parameters change + * Opera fix for cursor col-resize + * Fix in editGridRow when a save key is defined and the key is Eneter we +should not do save when we are in teaxtarea element + * Fix in formatter checkbox when the value is undefined. We also add a +default format for the checkbox too + * Fix addRowData to use key:true (keyIndex) when rowid is not defined + * Fix formatter bug for the select to use the defaultFormat + * Adding a 3 parameter to the unformat function - the cellobject. + * Fix alternate rows when we sort data locally. + * Fix in addRowData for alternate rows when we add item as last + * Fix collapseRow in treegrid preventing infinite recursion + * Fix in stripHtml function to parse numeric values + * Fix in delGridRow to get "fresh" Data from delData object + * Fix problems with width option if set as string. + * Fixing $jgrid.format function in base module to accept undefined parameter. + * Fix for saveRow method in aftersave function. Also we pass the request and +not the responseText. Also both aftersave and success functions have the +same type parameter - the response + * Fix for serchhidden in searchGrid method + * Fix for setGridWidth method + * Fix setColWidth function + * Fix for topinfo and bottom info in formedit to appear separatley in edit and add dialogs + * Fix searchFilter css to work when called from subgrid + * Fix celledit to work better when datepicker is attached + * Fix in viewGrid row to vizualize only the columns that only not hidden. + + +Additions and changes +--------------------- + * New API + * RTL Support + * Column reordering + * Added life scrolling of data + * Added gridResize method which can resize the grid. Also use a jQuery UI +resizable and can use any options of this widget + * Added sortableRows method which allow us to sort rows with drag and drop + * Added gridDnD method. The method connect two or more grids so that drag and drop rows +between these is possible + * Add columnChooser method which allows choosing/sorting columns at the same +time. This method requiere multiselect plugin + * Now getRowData can return all rows when rowid is not set. + * getCol now can return summary, average and count of the selected row. The +3 parameter determines this (valid are sum, avg, count). If this parameter +is set and is valid, the returned value is a scalar.If the param is not +valid the returned value is empty array. + * To setRowData we add a 3 parameter. If the parameter is string we use +addClass to add classes. If the parameter is object we use css to add css +properties. Note that we can set properties and classes without data, in +this case we should set data to false + * Adding a event object to ondblClickRow and onRightClickRow events as 4 parameter + * Add a ant based build system which allow us to minify the JS code + * Added custom validation property in editing modules + * Added possibility to create custom element in editing modules + * Adding support to configure the ajax request in a way that user want. This +is done in all modules where ajax is used. + * Added class in cell edit and inline edit so that the cell or row can not +be edited - the corresponding classes are 'not-editable-cell' and +'not-editable-row'. + * Added Hebrew Translation + * Added a beforeCheckValues event in editGridRow method. The execution is +before checking the values. Should return object of the posted data. + * Added Romanian translation + * Added a property classes in colModel where we can attach classes to column. + * info_dialog function can be used as separate modal dialog + * Added a class ui-ellipsis in grid css file. Also work in FireFox too. + * Changind the order of calling the events beforeSearch and beforeClear in +filterToolbar method. Also the events are called immediatley after triggering the grid + * To onCellSelect we replace the 4 parameter with the more natuaral event instead of e.target - +sorry if this will bring to some confusions. + * Added searchoptions value parameter in order to separate the editing module and search module. +We first look for such option in searchoptions and if not found we use the +editoptions value + * Added fixed property in colModel which allow us not to change the +column width if shrinkToFit is true and we set new width of the grid. + * Added buildSelect function to deserialize data for the select. This is option +can be added in editoptions or search options + + +Please read The Installation instructions first in install.txt +================================================ +3.5 beta (buld6- build11) + +New Properties and methods +========================== + +- Added new grid parameter hoverrows. When set to false the mouse hovering is +disabled in the grid data rows. + +- Added rowid as parameter to error function in saveRow method - inline +editing module + +- treeGrid to be initially work with datatype local + +- Added new method updateGridRows (grid.custom.js) +This method update the existing data in the grid by given id rowname. + +Syntax: updateGridRows (data, rowidname, jsonreader) + +data is a array of data in format +[{name:value,name1:value1...},{name:value,name2:value2...}] +where the name is the name from colModel and value is the actuall value. +It is not neccessary that all columns are present in the data item object +(the same as setRowData method) + +rowidname (string) - is the name of the row which should acts as id. +If not set the name "id" is used. + +jsonreader (boolean) default false. If set to true a jsonReader definition +is used to set the data. Note that this work only of the item in jsonReader +object 'repeatitems' is set to true. + +- Switch to namedItems JS function. This improve the speed. Previously we +walk throught the entry rowset to find the rowIndex of the given rowid. +Now we use the build in javaScript method namedItems which do the same. + +- multiselect is enabled in inline edit module. + +- To the importComplete event in jqGridImport method we pass the response. + +- Added support for alternate rows. Also added new jqGrid option altclass. +The default value is 'ui-priority-secondary' THis way we can develop our own +alternate class. + +- Added ShrinkToFit option in setColumns method which fit columns to the grid +width. Default value is false. + +- Extend tableToGrid method to use custom options when building the grid. +The call to this function is +tableToGrid(selector, options) +where options is the object with jqGrid options. + +- Adding 4px right to the view records text for better view + +- Add a onClose event to all modals in form editing (except alert dialog) +The default value is null. This event can be passed in editGridRow, delGridRow, +viewGridRow, and setColumns methods. The event raised when a close icon is clicked, +a cancel button is clicked or ESC key is pressed (if this is enabled). + +- Significant speed improvents in tree Grid when a relative large data is loaded. + +- Added dataheight parameter to all modal windows, where we can control the +scrolling content. Intitially this parameter is auto. +To summarize - we have two parameters for controlling the height of the modal. +height and dataheight. +The height parameter control the height of the entry modal, dataheight parameter +control the height of the scrolling content. The buttons of the modals are +allways visible at the bottom of the modal.Also some improvments in jqDnR. + +- In setColumns method we add colnameview and closeAfterSubmit parameters. The +colnameview (default true). If set to false the names from colModel are not +visible. closeAfterSubmit if defined cleses the dialog after the submit +button is clicked. + +- Added parameter viewsortcols in jqGrid parameters. The purpose of this +parameter is to define different look and behavior of sorting icons that +appear near the header. This parameter is array with the following default +options +viewsortcols : [false,'vertical',true] + +The first parameter determines if all icons should be viewed at the same time +when all columns have sort property set to true. +The default of false determines that only the icons of the current sorting column +should be viewed. +Setting this parameter to true causes all icons in all sortable columns to be viewed. + +The second parameter determines how icons should be placed - vertical means that +the sorting icons are one under another. 'horizontal' means that the icons should +be one near other. + +The third parameter determines the click functionality. If set to true the columns are +sorted if the header is clicked. If set to false the columns are sorted only when +the icons are clicked. + +Important note: When set a third parameter to false be a sure that the first parameter +is set to true, otherwise you will lost the sorting. + + +Fixes +===== +- Fixed bug in filterToolbar. We search now by index and when not found by +name. + +- Fix in searchGrid method. We search now by index and when not found by +name. + +- Fixed bug in IE when resizing columns. The function getOffset is changed +so that the resizing speed is the same as in Safari and FF. + +- Fix multiple select bug in createEl function. Now we set the options before +checking for multiple:true + +- Fixed bug in treegrid. The strict comparation in getNodeParent method +causes bad results. + +- Fix in setGridWidth method. We do not initialize correct the new width which +causes after the first set of the width to not work in other grid in the same +page. + +- Fixed bug in GridExport. We delete the columns that are generated +dynamically - multiselect, subgrid, treegrid or rownumbers. This way the +import is without errors + +- Fixed a bug in addRowData method to add data with id = 0 (number) + +- Fixed a forever loading bug in IE. + +- Fixed altRows bug in delRowData method + +- navGrid method fix for warning modal and IE6 + +- Fix setColumns method to the common apprach of forms and modals + +- Fix for IE8 in getAbsoluteIndex method. IE8 seems to work as other browsers + +- Fixed bug in delRowData - the grid does not resize when first row is +deleted. + +- Fixed bug when rownumbers and subgrid are used together + +- Fixed bug in row editing when the column name contain dot. + +- Fixing bug in viewGridRow - also the id manes of the form are changed in order +to be not equal of those in editGridRow + + + +3.5 beta (buld5) + +FormEditing +=========== +- added options checkOnUpdate (default false) in editGridRow method. +Also available in add and edit mode. +When this option is set to true the behaviour as follow: +When something is changed in the form and the user click on +Cancel button, navigator buttons, close button (on upper right corner of the +form), in overlay (if available) or press Esc key (if set) a message box apper +asking the user to save the changes, not to save the changes and go back in the +form or cancel all changes (this will close the modal form) +Note that checkOnSubmit option will work only when a submit button is clicked. +When nothing is changed we contionue with the action. + +- added option - rowabove (default false) in colModel formoptions +When set to true a new empty row is added above this row in form editing. +- added option - rowcontent (default empty) in colModel formoptions. +This option have sense only when rowabove option is set to true. +With this option is possible to set a content to the new added empty row in +the form. In order to style easy these rows a class 'contentinfo' is set. + +- added new items in the language files to support the checkOnUpdate option + +- added class 'delmsg' in the delGridRow method. This allow us to change the +message dynamically using a beforeShow or afterSow eventrs. The class is added +to a element td. + +Fixes +===== +- fix in Bulgarian translations files. +- fix in searchGrid method. Now we search by index (from colModel) and only if +it is not available we search by name. +- Fix for date parser in the base module. Now we can sort locally on +dates that contain month names +- Fixed bug in searchGrid. The translation messages for the operations does not +apper when not set in colModel +- removed some not needed events from base grid. Also return false do these +by default; +- Fix bug to check if datepicker is available in searchGrid. +- Fix a bug in searchGrid in IE6, where the data value is not set for elements +after the first +- Fixed bug when calling of jqModal multiple times on the same element. We +need the initialization only once and not every time. This cause a memory +leaks +- Fixed bug in formatter where the data containing ' causes break in IE +- Fixed bug in base module when adding data where the data contain a ' char. +This breaks in IE browsers. +- Fixed bug in checkboxes. We add the value setted in the editoptions. Also +converting to lower case make the option checkOnUpdate to be true every time. +- We replace white-space nowrap with pre in td element in the CSS file. This fixes +the bug in IE where the first row does not wrap when the text is longer than +the column width. Also this requiere DOCTYPE declaration in the document. +- Fixed bug in viewGridRow method where when resizing the modal causes the data +to apper bad. + + +3.5 beta (buld4) +Base +==== +- added option footerrow - default false. If set to true this will place a +footer table with one row below the gird records and above the pager. +The number of columns equal of these from colModel + +-added option userDataOnFooter(default false) which directly place the user data +array at footer. The rules are as follow: If the userData array contain name +which is equal to those of colModel then the value is placed in that column. +If there are no such values nothing is palced. Note that if this option +is used we use the current formatter options (if available) for that column. + +-Added method getCol(colname). Colname can be either number which represents +the index of the column or name from colModel. The method return array with +the values of the coulmn. + +- Added method footerData ( action, data, format). This method get or set data +on footer. + +action - can be 'get' or 'set'. If not set default is get. +When set to 'get' - the result is object of type name:value, where the name is +a name from colModel. This will return a data from the footer. The other two +options does not have effect in this case. + +When set to 'set' a data array (object) should be set. This will place +the values in the footer. + +format - default is true. This instruct the method to use the formmater +(if set in colModel) when a new values are set. +Setting to false will disable the using of formatter. + +Related css items in the ui.jqgrid.css +.ui-jqgrid-sdiv - is a div container for the footer +.ui-jqgrid-ftable - is the class for the table +tr.footrow - is the class for the footer row +tr.footrow td is the item for the cell formating + +In order to format every cell in a way that you want +maybe you can use + +jQuery("tr.footrow td:eq(2)","#gbox_mygrid").css(...) +where the td:eq(2) point to the third column +and mygrid is the id of the grid. The id of the global grid container +is constructed via "gbox_"+the id of the grid. + +There are no methods to show and hide the footer row dynamically, but +following the above example we can do + +jQuery(".ui-jqgrid-sdiv","#gbox_mygrid").hide() - this will hide the footer row. + +jQuery(".ui-jqgrid-sdiv","#gbox_mygrid").show() - this will show the footer row. + + +Form Editing +============ +aded option in editGridRow - checkOnSubmit (default false) +This option only work in editing mode and not in add. +When set to true - the method looks if any data is changed in the form and +if this is a case a dilog message appear where the user is asked to confirm the +changes or cancel it. Pressing cancel will return to the form, but does not +set the values to its original state. + +Note that this causes a some changes in the language file. + +Fixes +===== + +- Removed imgpath from cell edit and inline edit modules and common module. +This parameter is no longer valid in 3.5 +- Replace $ with jQuery in grid.common.js which causes problems when used with +other librariers like prototype. +- removed a checking e.srcElement from base module. jQuery allready fix this. +- fixing the size option in select when using ajax to load selects. +- Fixed bug in IE browsers, when clicked on href tag with child nodes, +IE incorrect report in all cases that this is a href element. This couses +onSelectCell not to behave correct. +- Fixed bug in searchGrid - group options are not passed to serchFilter in +order get them from Language file. +- Fix in bulgarian trnslations. +- Fix on sorting column. The initial sort check first for index and then for +column name. Before the checking for the index was missed. +Sortorder converted to lower case in order to avoid some cofusions. +- Fix in set columns module. The modal does not appear correctly due to +missed parameter + + + +3.5 beta (buld3) + +Base +==== +- To the loading message is added ui-state-active class from Theme roller. +This is more natural, indicating that the grid is active when data is loaded. + +Form Editing +============ +- Added keyboard navigation, which allow us to navigate throught the records while +in form editing pressing certain keys. This option is available in editGridRow +and viewGridRow methods. The default state is disabled. To enable this you +should set the options in the edit/add parameters: + +navkeys: [true,38,40] +The first item enables the navigation. +The second item corresponds to reccord up and by default is the the key code +for Up key +The third item corresponds to reccord down and by default is the key code for +Down key +Example +$("#mygrid").navGrid("#pager",{options},{id:'myeditid',navkeys: [true,38,40]}..) +Also this option does not work in add mode. + +Note: Instead that this does not have sense, if you plan to navigate with keys +it is recommended to add this option in add mode. This should be done +because the form for add and edit is the same and it is unknown which action +will be lunched first. + +- Added posibility to save the form pressing certain key - add/edit mode only +By default this option is disabled. +To enable +savekey: [true,13] +The first item enables saving with pressing certain key. +The second item corresponds to key code for saving. Default Enter (key code 13) + +Note that this binding should be used for both adding and editing a row. +Since the binding is for the form, there is no possibility to have one +key in add and another in edit mode. + +- Added icons for the buttons in the form. The corresponding class in the css +is "fm-button" +By default all icons are enabled. +For add/edit method editGridRow +The save button is defined with +saveicon : [true,"left","ui-icon-disk"] +The close button is defined with +closeicon: [true,"left","ui-icon-close"] + +The first item enables the icon +The second item tells where to pu icon left or right +The third item corresponds to valid ui icon from theme roller + +For viewGrid Row +closeicon : [true,"left","ui-icon-close"] + +For Deleting +delicon: [true,"left","ui-icon-scissors"] +cancelicon: [true,"left","ui-icon-cancel"] + +Fixes +====== +-Fixed bug when getting the index of the row. Strict compare should be removed. +-Fixed bug when datatype is function - we need to exit when call it and not to +continue. +-Fixed bug in form editing - the buttons do not align properly. + +3.5 beta (build2) + +Navigator +========= +This was missed in the first build +In the navGrid we can pass uniquie id's of the buttons in order to manipulate +them easy. If no id is set we create one which is combination of: +for add button "add_"+ the id of the grid +for edit button "edit_"+ the id of the grid +for view button "view_" + the id of the grid +for delete button "del_" + the id of the grid +for search button "search_" + the id of the grid +for refresh button "refresh_" + the id of the grid +Example: +$("#mygrid").navGrid("#pager",{options}, {id:'myeditid'},{id:'myaddid'}...) + +Base Grid +========= +- Record number information now can format the values according to the +formatter setting (if available) getting information from language file. + +Fixes +===== + +- Fixed bug when multi select with json. We pass wrong parameter to addMulti +function +- Spelling error in all language files, which cause not to set the default +value correct +- Fixed bug when creating warning message. Fixed bug when determining the +number column element in the form +- Fixed bug - clientSide datatype should be converted to lower case +according to the new improvements +- Fixed bug in IE6/7 when try to select a option in the select generated via +ajax + +=============================== +Upgrade from 3.4.x to 3.5 beta. +=============================== + + +1. Installation +-------------- +See install.txt + +2. Code changes +--------------- +2.1 The following grid options are deprecated - i.e. you can remove them from +the grid options. They are not needed in 3.5 version + +imgpath +sortascimg +sortdescimg +firstimg +previmg +nextimg +lastimg +sortclass +resizeclass + +2.2 Second change is related to custom formatters. Starting with version 3.5, +the custom formatter is passed the following parameters: + +formatter : function ( cellvalue, options, rowObject ) +{ +// format the cellvalue to new format +return new_formated_cellvalue; +} + +Note the return in the function. This function should always return a value +in order to work correctly. The parameters are + +cellvalue - is the value to be formatted +options - is an object containing the following element + +options : { rowId: rid, colModel: cm} +where rid - is the id of the row +colModel is the object of the properties for this column getted from colModel +array of jqGrid + +rowObject - is a row data represented in the format determined from datatype +option. +If we have datatype: xml/xmlstring - the rowObject is xml node,provided +according to the rules from xmlReader +If we have datatype: json/jsonstring - the rowObject is array, provided +according to the rules from jsonReader + +Example: +Code in 3.4.x variant + +formatter : function ( elem, cellvalue, options) +{ +var newval = ""+cellvalue+""; +jQuery(elem).html(newval); +} + + +Code in 3.5 + +formatter : function ( cellvalue, options, rowObject ) +{ +return ""+cellvalue+""; +} + + +Base Module +============ +Bug fixes +--------- +- fixed bug in onCellSelect event when used in IE browsers - now the rowIndex +passed to this event is calculated correctly regardless of hidden columns. + +- fixed width bug when multiselect is used. Previously the width of this column +is recalculated according to table width and when shrinkToFit is set to true. +Now the column has fixed width and is no longer recalculated when the grid +width is changed. See documentation for the new options + +- fixed width bug when subgrid is used. Previously the width of this column is +recalculated according to table width and when shrinkToFit is set to true. Now +the column has fixed width and is no longer recalculated when the grid width +is changed. See documentation for the new options + +- fixed bug in addRowData method when the grid is empty and we try to add one +or more columns. The width of the data was not being recalculated correctly, +according to the header elements. + +- fixed bug when we use xmlstring and jsonstring to add data. Previously all +the data from the string is loaded without reference to the rowNum parameter. +Also this behaviour is changed for xml and json data. In other words, we now +load only rowNum number of rows even when the request consists of more rows. + +- fixed bug when posting values of input of type select set to multiple:true. +Now in all editing modules the posted values in for multiselect are separated +with comma + +- fixed bug in the size option of multi select. If the size option is not set +for multiselect the default value is 3 + +Deprecated options +---------------- +imgpath: "", in all modules +sortascimg: "sort_asc.gif", +sortdescimg: "sort_desc.gif", +firstimg: "first.gif", +previmg: "prev.gif", +nextimg: "next.gif", +lastimg: "last.gif", +sortclass: "grid_sort", +resizeclass: "grid_resize", + +Note that imgpath is not used anymore in all modules. +The altRows option is still here, but will have no effect until the jQuery +UI Theme roller supports alternative rows. + + +Note that the table element where we define the grid can not have a class +scroll - i.e. class scroll in the table definition can be omitted, but this +is NOT true for the pager element. + +New options +----------- +datatype can now set as 'script'. In other words, we now support script +as datatype. + +reccount: numeric, Default 0. Determines the exact number of available +grid rows. Can be <= from rowNum parameter + +autowidth: boolean, Default false. When set to true, the grid width is +recalculated automatically to the width of the parent element. This is done +only initially when the grid is created. In order to resize the grid when +the parent element changes width you should apply custom code and use a +setGridWidth method for this purpose. + +scrollOffset: numeric, Default 18. Determines the width of the vertical +scrollbar. Since different browsers interpret this width differently (and it +is difficult to calculate it in all browsers) this can be changed. + +cellLayout: numeric, Default 5. This option determines the padding + border +width of the cell. Usually this should not be changed, but if custom changes +to td element are made in the grid css file this will need to be changed. + +subGridWidth: numeric, Default 20. Determines the width of the subgrid column +if the subGrid option is set to true. + +multiselectWidth: numeric, Default 20. Determines the width of the multiselect +column if multiselect is set to true. + +rownumbers: boolean, Default false. If this option is set to true, a new column +at left of the grid is added. The purpose of this column is to count the number +of available rows, beginning from 1. In this case colModel is extended +automatically with new element with name - 'rn'. Also, be careful not to use +the name 'rn' in colModel + +rownumWidth: numeric, Default 25. Determines the width of the row number column +if rownumbers option is set to true. + +pagerpos: string, Default 'center'. Determines the position of the pager in the +grid. By default the pager element when created is divided in 3 parts (one part +for pager, one part for navigator buttons and one part for record information) + +recordpos: string, Default 'right'. Determines the position of the record +information in the pager. + +toolbar now accepts another option: "both". When we set toolbar: [true,"both"] +two toolbars are created -- one on the top of table data and one of the bottom +of the table data. When we have two toolbars then we create two elements (div). +The id of the top bar is constructed like "t_"+id of the grid and the bottom +toolbar the id is "tb_"+id of the grid. In case when only one toolbar is +created we have the id as "t_" + id of the grid, independent of where this +toolbar is created (top or bottom) + +gridview: boolean, Default value false. In the previous versions of jqGrid, +including 3.5 alfa, reading a relatively big data sets (Rows >=100 ) caused +speed problems. The reason for this was that as every cell was inserted into +the grid we applied about 5-6 jQuery calls to it. Now this problem is resolved; +we now insert the entry row at once with a jQuery append. The result is +impressive - about 3-5 times faster. What will be the result if we insert all +the data at once? Yes, this can be done with a help of gridview option when set +to true. The result is a grid that is 5 to 10 times faster. Of course when this +option is set to true we have some limitations. If set to true we can not use +- treeGrid +- subGrid, or +- afterInsertRow event. +If you do not use these three options in the grid you can set this option to +true and enjoy the speed. + +addRowData now is 1-2 times faster because we are using the concept to insert +the row at once + +Added jQuery function parse (removed from json2.js module): +jQuery.parse(jsonstring) +To prevent JavaScript hijacking attacks, web application authors are encouraged +to use this function. This returns a JSON representation of the variable. + +Cyclic structures are detected and safely interrupted, but could not be further +restored. +1. The while(1); construct, located at the beginning of JSON text, +2. Comments at the beginning and end of the text. +JSON data providers are encouraged to use one or both of these methods to +prevent data execution. Such JSON response may then look like this: +while(1);/*{[ + {"name":"safe value 1"}, + {"name":"safe value 2"}, + ... +]}*/ +jqGrid uses this function when obtaining a data with datatype:'json', also used +in subGrid. + +Added jQuery function stringToDoc: jQuery.stringToDoc(xmlstring). This returns +the xml document of xml string + +Added new method: jQuery("#mygrid").updateColumns(); this synchronizes the +width of the headers with the data. Useful when used with table drag and drop. + + +colModel changes and additions +------------------------------ +searchhidden is removed from editrules object + +added searchoptions object to define properties, events and other settings when +a search is performed +searchoptions : { + dataUrl : value, + dataInit: function, + dataEvents : array, + defaultValue: value, + attr: object, + searchhidden: boolean, + sopt: array +} +To summarize - when we want to deal with search we should use the following +options in colModel + +search : boolean , // true/false +stype: value, // text/select +searchoptions : object // see above + +Note: when the dataUrl is not used for the search type select, the definitions +for the select are taken from editoptions value property - i.e +editoptions:{value:"1:one;2:two",...}. See below for how to use these options in +different search methods. + + +Added new object formoptions to define various settings in form editing. Also +valid only in this module. + +formoptions : { + elmprefix:value, + elmsuffix:value, + rowpos: number, + colpos:number, + label: value +} +See below for how to use + +The editoptions are extended with the following properties. Valid in all editing +modules editoptions : { + dataUrl : value, dataInit: function, dataEvents : array, defaultValue: + value/function, +} See below + + +Changes in all editing modules +============================== + +edittype property is extended with the support of the following input elements: +button, image and file + +As described above in all editing modules we can add additional properties and +events to the editing element: + +editoptions : { + dataUrl : value, dataInit: function, dataEvents : array, defaultValue: + value/function +} +------------------------------------------------------------------------------- +dataUrl option is valid only for the elements of type select - i.e., +edittype:select + +When this option is set, the element will be filled with values from the ajax +request. The data should be a valid html select element with the desired +options. + +In form editing for add/edit this is called only once. In order to call it every +time the form is launched you should set the option recreateForm:true or use +other events like beforeShowForm (with another custom ajax call) to fill the +desired element. + +In inline edit and cell edit this is fired every time you edit the row or cell +element. +-------------------------------------------------------------------------------- +dataInit : function (elem) { +// do something +} + +If set, this function is called only once ? when the element is created. The +function is passed the specified element. This option is ideal for attaching +date picker, time picker, etc. Example: + +dataInit : function (elem) { + $(elem).datepicker(); +} +-------------------------------------------------------------------------------- +dataEvents: list of events to apply to the data element; uses +$("#id").bind(type, [data], fn) to bind events to data element + +Should be described like this dataEvents: [ + { type: 'click', data: { i: 7 }, fn: function(e) { console.log(e.data.i); } + }, { type: 'keypress', fn: function(e) { console.log('keypress'); } } +] + +The event(s) are called only once when the element is created +------------------------------------------------------------------------------- +defaultValue: 'value' or function This option is valid only in Form Editing +module when used with editGridRow method in add mode.If set this the input +element is set with this value if only element is empty. If used in selects the +text should be provided and not the key. Also when a function is used the +function should return value. + +Now we can validate a url. The corresponding settings is in colModel +editrules:{required:true, url:true} + + +FormEditing +=========== +In all methods that deal with the modals are added the following options (thanks +to Faserline Team: www.faserline.com) + +jqModal: true. The default value is true. How it works. If set to true, first +jqGrid checks if the jqModal plugin is available. If this plugin is available we +create the modal according to the jqModal plugin. If this plugin is not +available jqGrid create its own modal. The difference between the jqModal window +and jqGrid modal window is that the overlay covers only the grid, but not the +entry page as jqModal does. If this option is set to false, jqGrid will create +its own modal as described above even if jqModal is available. + +The only exception here is searchGrid method created with the new searchFilter +plugin, where this option is not available. In this method a jqGrid modal window +is used. + +closeOnEscape : false. Default false. When set to true the modal window can be +closed with ESC key. + + + +=======searchGrid================== +From now on jqGrid use a new search engine +thanks to wonderful plugin provided from Kasey Speakman (kasey@cornerspeed.com). +This plugin can also be used separately. Detailed documentation is provided in +the jquery.searchFilter.js which is provided with jqGrid package. + +These options are not used anymore in the searchGrid method +---------------------------------------------------------- +top : 0, +left: 0, +width: 360, +height: 80, +modal: false, +closeicon: 'ico-close.gif', +dirty: false, +processData: "", + +Added the following options +--------------------------- + +recreateFilter: false, This option construct the filter every time a search +button is clicked. + +multipleSearch : false, When set to false the behaviour of the search is the +same as those in versions before 3.5 When set to true: 1. We have a possibility +to add/delete as many conditions as we want 2. The posted data to the server is +string (actually a json array converted to string) + +sFilter: 'filters', This option has an effect only when the multipleSearch is +set to true; it describes the name of the posted string. By default this, i.e. +the posted data, can look like this + +filters ={ + "groupOp":"AND","rules":[{"field":"id","op":"gt","data":"1"}, +{"field":"name","op":"bw","data":"Client"}] +} + +groupOp determines the logical operator that can be used in the where statement +of the select. The value can be AND or OR. This can be changed used a select box +which is created at bottom of the search filter. + +The rules array describes actually which fields and how they are included in the +where clause The field element describes the name of the field The op element +describes the operator that should be used in the search The data element is the +data that we want to search. + +The above example (if getted and constructed correctly) should generate the +following where clause + +SELECT .... FROM table,... WHERE id > 1 AND name LIKE 'Client%' +------------------------------------------------------------------------------- +As described above the search is constructed according to the searchoptions in +colModel + +search : boolean , // true/false stype: value, // text/select + +searchoptions : { + dataUrl : value, + dataInit: function, + dataEvents : array, + attr: object, + searchhidden: boolean, + sopt: array +} +Note that here is missing the defaultValue. The option is not implemented in +this method. + + +stype determines the search type - can be select or text. If not set a text is +used + +searchoptions +------------------------------------------------------------------------------- +dataUrl option is valid only for the elements of type select, i.e. +edittype:select + +When this option is set the element will be filled with values from the ajax +request. The data should be a valid html select element with the desired +options. + +This is called only once. + +------------------------------------------------------------------------------- +dataInit : function (elem) { +// do something +} + +If set this function is called only once when the element is created. To the +function is passed the element. Also this option is ideal for attaching date +picker, time picker and etc. Example + +dataInit : function (elem) { + $(elem).datepicker(); +} +-------------------------------------------------------------------------------- +dataEvents: list of events to apply to the data element; uses +$("#id").bind(type, [data], fn) to bind events to data element + +Should be described like this +dataEvents: [ +{ type: 'click', data: { i: 7 }, fn: function(e) { console.log(e.data.i); }}, +{ type: 'keypress', fn: function(e) { console.log('keypress'); } } +] + +The event(s) are called only once when the element is created +-------------------------------------------------------------------------------- +attr is object where we can set valid attributes to the created element + +attr : { title: "Some title" } +------------------------------------------------------------------------------ +searchhidden : if set to true, the hidden element will appear in the search. +------------------------------------------------------------------------------- +array that correspond to the op element in the posted data and determines the +operation. If not set all the available options will be used; if set only the +set values will appear as selectboxes. + +All available option are sopt: +['eq','ne','lt','le','gt','ge','bw','bn','in','ni','ew','en','cn','nc'] + +The corresponding texts are in language file and mean the following ['equal', +'not equal', 'less', 'less or equal','greater','greater or equal', 'begins +with','does not begin with','is in','is not in','ends with','does not end +with','contains','does not contain'], + +Note that the elements in sopt array can be mixed in any order. + + +=========add/edit form========== +In the editGridRow method the following options are no longer used + +closeicon: 'ico-close.gif', +imgpath: '' + +Added new property formoptions (in colModel); thanks to Faserline Team +(www.faserline.com) + +The purpose of these options is to reorder the elements in the form and to add +some information before and after the editing element. + +formoptions : { + elmprefix:'', + elmsuffix:'', + rowpos:number, + colpos:number, + label: value +} + +If you go to use this object in collModel it is recommended that all editing +fields use this property and with at least the rowpos and colpos set. + +Elemprefix: if set, a text or html content appears before the input element + +Elemsuffix: if set, a text or html content appears after the input element + +Label: if set, this replace the name from colNames array that appears as label +in the form. + +rowpos : number determines the row position of the element (again with the +text-label) in the form; the count begins from 1 + +colpos : number determines the column position of the element (again with the +label) in the form beginning from 1 + +Two elements can have equal row position, but different column position. This +will place the two elements in one row on the form. + +=========== delete================================= +In the delGridRow method the following options are no longer used + +closeicon: 'ico-close.gif', +imgpath: '', + + + +============= view ============================= +Added viewGridRow method; thanks to Faserline Team (www.faserline.com) + +This method is similar to the editGridRow method except that the fields are not +editable and we do not have any events attached to the form. Here are the +options viewGridRow (options) where +options = { + top : 0, + left: 0, + width: 0, + height: 0, + modal: false, + drag: true, + closeOnEscape : false, + labelswidth: '30%' +} + + +All the options have the same thing as these in editGridRow except the option +labelswidth which default value is 30%. Since we construct the view with table +element it is difficult to calculate, in this case, how much width is needed for +the labels. Depending on the needs this value can be increased or decreased + +Custom method +============= +In the custom module is added new method filterToolbar. + +This method is the same as filterGrid, except that the search input elements are +placed in the grid just below the header elements. When the header elements are +resized the input search elements are also resized according to the new width. +Another difference to the filterGrid is that the filter toolbar uses definitions +from colModel just like the searchGrid + +Should be called like this + +jQuery("#mygrid").filterToolbar(options) + +where options are + +options = { + autosearch: true, + beforeSearch: null, + afterSearch: null, + beforeClear: null, + afterClear: null, + searchurl : '' +} + +autosearch: true Search is performed according to the following rules For text +element when a Enter key is pressed while inputting values a search is +performed. For select element when the value changes. + +beforeSearch - event which fires before a search + +afterSearch - event which fires after a search + +beforeClear - event which fires before clearing entered values (i.e., +clearToolbar is activated) + +afterClear - event which fires after clearing entered values (i.e., clearToolbar +is activated) + +The rules of creating toolbar search input elements are the same as searchGrid +using the colModel +searchoptions : { + dataUrl : value, + dataInit: function, + dataEvents : array, + defaultValue: value, + attr: object +} + +Note the missing sopt element, but addition of defaultValue property + +This method has 3 new additional methods that can be used: + +triggerToolbar - when called perform a search dynamically + +clearToolbar - when called clear the search values and set the default one if +available + +toggleToolbar - toggles the searchbar + +A typical call to these methods + +var sgrid = $("#mygrid")[0] sgrid.triggerToolbar(); + +will trigger the search of mygrid. + + +Import module +============= +added option importComplete event which fires after constructing the grid. + + +Inline edit +=========== +added afterrestorefunc as 9th parameter. The event fires after the row is +restored + +treeGrid +======== +the tree icons can be changed using the following grid parameter treeIcons. The +default values are. +treeIcons ={ + plus:'ui-icon-triangle-1-e', + minus:'ui-icon-triangle-1-s', + leaf:'ui-icon-radio-off' +}; +Note that icons from UI Theme should be used. + +formatter +========= + +- the source format for date formatter (srcformat) now can accept month names +- it is possible to enable checkboxes as editable when created with formatter In + the format options we should in this case checkbox : {disabled:false} The + default is false. To enable this option globally you can change this value in + the language file + +- the showLink now can accept custom name for the id The parameter is idName : + 'id' The default is id. Can be changed in formatoptions or in the language + file. + diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-ar.js b/src/main/webapp/resources/demo2/i18n/grid.locale-ar.js new file mode 100644 index 0000000..4000da6 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-ar.js @@ -0,0 +1,166 @@ +/** + * jqGrid Arabic Translation + * + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["ar"] = { + defaults : { + recordtext: "تسجيل {0} - {1} على {2}", + emptyrecords: "لا يوجد تسجيل", + loadtext: "تحميل...", + savetext: "Saving...", + pgtext : "صفحة {0} على {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "بحث...", + Find: "بحث", + Reset: "إلغاء", + odata: [{ oper:'eq', text:"يساوي"},{ oper:'ne', text:"يختلف"},{ oper:'lt', text:"أقل"},{ oper:'le', text:"أقل أو يساوي"},{ oper:'gt', text:"أكبر"},{ oper:'ge', text:"أكبر أو يساوي"},{ oper:'bw', text:"يبدأ بـ"},{ oper:'bn', text:"لا يبدأ بـ"},{ oper:'in', text:"est dans"},{ oper:'ni', text:"n'est pas dans"},{ oper:'ew', text:"ينته بـ"},{ oper:'en', text:"لا ينته بـ"},{ oper:'cn', text:"يحتوي"},{ oper:'nc', text:"لا يحتوي"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "مع", text: "الكل" }, { op: "أو", text: "لا أحد" }], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" +}, + edit : { + addCaption: "اضافة", + editCaption: "تحديث", + bSubmit: "تثبيث", + bCancel: "إلغاء", + bClose: "غلق", + saveData: "تغيرت المعطيات هل تريد التسجيل ?", + bYes: "نعم", + bNo: "لا", + bExit: "إلغاء", + msg: { + required: "خانة إجبارية", + number: "سجل رقم صحيح", + minValue: "يجب أن تكون القيمة أكبر أو تساوي 0", + maxValue: "يجب أن تكون القيمة أقل أو تساوي 0", + email: "بريد غير صحيح", + integer: "سجل عدد طبييعي صحيح", + url: "ليس عنوانا صحيحا. البداية الصحيحة ('http://' أو 'https://')", + nodefined : " ليس محدد!", + novalue : " قيمة الرجوع مطلوبة!", + customarray : "يجب على الدالة الشخصية أن تنتج جدولا", + customfcheck : "الدالة الشخصية مطلوبة في حالة التحقق الشخصي" + } + }, + view : { + caption: "رأيت التسجيلات", + bClose: "غلق" + }, + del : { + caption: "حذف", + msg: "حذف التسجيلات المختارة ?", + bSubmit: "حذف", + bCancel: "إلغاء" + }, + nav : { + edittext: " ", + edittitle: "تغيير التسجيل المختار", + addtext:" ", + addtitle: "إضافة تسجيل", + deltext: " ", + deltitle: "حذف التسجيل المختار", + searchtext: " ", + searchtitle: "بحث عن تسجيل", + refreshtext: "", + refreshtitle: "تحديث الجدول", + alertcap: "تحذير", + alerttext: "يرجى إختيار السطر", + viewtext: "", + viewtitle: "إظهار السطر المختار", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "إظهار/إخفاء الأعمدة", + bSubmit: "تثبيث", + bCancel: "إلغاء" + }, + errors : { + errcap : "خطأ", + nourl : "لا يوجد عنوان محدد", + norecords: "لا يوجد تسجيل للمعالجة", + model : "عدد العناوين (colNames) <> عدد التسجيلات (colModel)!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", + "الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت" + ], + monthNames: [ + "جانفي", "فيفري", "مارس", "أفريل", "ماي", "جوان", "جويلية", "أوت", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر", + "جانفي", "فيفري", "مارس", "أفريل", "ماي", "جوان", "جويلية", "أوت", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر" + ], + AmPm : ["صباحا","مساءا","صباحا","مساءا"], + S: function (j) {return j == 1 ? 'er' : 'e';}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-bg.js b/src/main/webapp/resources/demo2/i18n/grid.locale-bg.js new file mode 100644 index 0000000..8f79246 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-bg.js @@ -0,0 +1,172 @@ +/** + * jqGrid Bulgarian Translation + * Tony Tomov tony@trirand.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["bg"] = { + defaults : { + recordtext: "{0} - {1} от {2}", + emptyrecords: "Няма запис(и)", + loadtext: "Зареждам...", + savetext: "Записвам...", + pgtext : "Стр. {0} от {1}", + pgfirst : "Първа Стр.", + pglast : "Последна Стр.", + pgnext : "Следваща Стр.", + pgprev : "Предишна Стр.", + pgrecs : "Брой записи на Стр.", + showhide: "Свиване/Разтягане на таблицата", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Търсене...", + Find: "Намери", + Reset: "Изчисти", + odata: [{ oper:'eq', text:"равно"},{ oper:'ne', text:"различно"},{ oper:'lt', text:"по-малко"},{ oper:'le', text:"по-малко или="},{ oper:'gt', text:"по-голямо"},{ oper:'ge', text:"по-голямо или ="},{ oper:'bw', text:"започва с"},{ oper:'bn', text:"не започва с"},{ oper:'in', text:"се намира в"},{ oper:'ni', text:"не се намира в"},{ oper:'ew', text:"завършва с"},{ oper:'en', text:"не завършава с"},{ oper:'cn', text:"съдържа"},{ oper:'nc', text:"не съдържа"},{ oper:'nu', text:'е NULL'},{ oper:'nn', text:'не е NULL'}], + groupOps: [ { op: "AND", text: " И " }, { op: "OR", text: "ИЛИ" } ], + operandTitle : "Натисни за избор на операнд.", + resetTitle : "Изчисти стойността" + }, + edit : { + addCaption: "Нов Запис", + editCaption: "Редакция Запис", + bSubmit: "Запиши", + bCancel: "Изход", + bClose: "Затвори", + saveData: "Данните са променени! Да съхраня ли промените?", + bYes : "Да", + bNo : "Не", + bExit : "Отказ", + msg: { + required:"Полето е задължително", + number:"Въведете валидно число!", + minValue:"стойността трябва да е по-голяма или равна от", + maxValue:"стойността трябва да е по-малка или равна от", + email: "не е валиден ел. адрес", + integer: "Въведете валидно цяло число", + date: "Въведете валидна дата", + url: "e невалиден URL. Изискава се префикс('http://' или 'https://')", + nodefined : " е недефинирана!", + novalue : " изисква връщане на стойност!", + customarray : "Потреб. Функция трябва да върне масив!", + customfcheck : "Потребителска функция е задължителна при този тип елемент!" + } + }, + view : { + caption: "Преглед запис", + bClose: "Затвори" + }, + del : { + caption: "Изтриване", + msg: "Да изтрия ли избраният запис?", + bSubmit: "Изтрий", + bCancel: "Отказ" + }, + nav : { + edittext: " ", + edittitle: "Редакция избран запис", + addtext:" ", + addtitle: "Добавяне нов запис", + deltext: " ", + deltitle: "Изтриване избран запис", + searchtext: " ", + searchtitle: "Търсене запис(и)", + refreshtext: "", + refreshtitle: "Обнови таблица", + alertcap: "Предупреждение", + alerttext: "Моля, изберете запис", + viewtext: "", + viewtitle: "Преглед избран запис", + savetext: "", + savetitle: "Съхрани запис", + canceltext: "", + canceltitle : "Отказ редакция", + selectcaption : "Actions..." + }, + col : { + caption: "Избери колони", + bSubmit: "Ок", + bCancel: "Изход" + }, + errors : { + errcap : "Грешка", + nourl : "Няма посочен url адрес", + norecords: "Няма запис за обработка", + model : "Модела не съответства на имената!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:" лв.", defaultValue: '0.00'}, + date : { + dayNames: [ + "Нед", "Пон", "Вт", "Ср", "Чет", "Пет", "Съб", + "Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота" + ], + monthNames: [ + "Яну", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Нов", "Дек", + "Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември" + ], + AmPm : ["","","",""], + S: function (j) { + if(j==7 || j==8 || j== 27 || j== 28) { + return 'ми'; + } + return ['ви', 'ри', 'ти'][Math.min((j - 1) % 10, 2)]; + }, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-ca.js b/src/main/webapp/resources/demo2/i18n/grid.locale-ca.js new file mode 100644 index 0000000..6133c83 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-ca.js @@ -0,0 +1,168 @@ +/** + * jqGrid Catalan Translation + * Traducció jqGrid en Catatà per Faserline, S.L. + * http://www.faserline.com + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["ca"] = { + defaults : { + recordtext: "Mostrant {0} - {1} de {2}", + emptyrecords: "Sense registres que mostrar", + loadtext: "Carregant...", + savetext: "Saving...", + pgtext : "Pàgina {0} de {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Cerca...", + Find: "Cercar", + Reset: "Buidar", + odata: [{ oper:'eq', text:"equal"},{ oper:'ne', text:"not equal"},{ oper:'lt', text:"less"},{ oper:'le', text:"less or equal"},{ oper:'gt', text:"greater"},{ oper:'ge', text:"greater or equal"},{ oper:'bw', text:"begins with"},{ oper:'bn', text:"does not begin with"},{ oper:'in', text:"is in"},{ oper:'ni', text:"is not in"},{ oper:'ew', text:"ends with"},{ oper:'en', text:"does not end with"},{ oper:'cn', text:"contains"},{ oper:'nc', text:"does not contain"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "tot" }, { op: "OR", text: "qualsevol" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Afegir registre", + editCaption: "Modificar registre", + bSubmit: "Guardar", + bCancel: "Cancelar", + bClose: "Tancar", + saveData: "Les dades han canviat. Guardar canvis?", + bYes : "Yes", + bNo : "No", + bExit : "Cancel", + msg: { + required:"Camp obligatori", + number:"Introdueixi un nombre", + minValue:"El valor ha de ser major o igual que ", + maxValue:"El valor ha de ser menor o igual a ", + email: "no és una direcció de correu vàlida", + integer: "Introdueixi un valor enter", + date: "Introdueixi una data correcta ", + url: "no és una URL vàlida. Prefix requerit ('http://' or 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "Veure registre", + bClose: "Tancar" + }, + del : { + caption: "Eliminar", + msg: "¿Desitja eliminar els registres seleccionats?", + bSubmit: "Eliminar", + bCancel: "Cancelar" + }, + nav : { + edittext: " ", + edittitle: "Modificar fila seleccionada", + addtext:" ", + addtitle: "Agregar nova fila", + deltext: " ", + deltitle: "Eliminar fila seleccionada", + searchtext: " ", + searchtitle: "Cercar informació", + refreshtext: "", + refreshtitle: "Refrescar taula", + alertcap: "Avís", + alerttext: "Seleccioni una fila", + viewtext: " ", + viewtitle: "Veure fila seleccionada", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, +// setcolumns module + col : { + caption: "Mostrar/ocultar columnes", + bSubmit: "Enviar", + bCancel: "Cancelar" + }, + errors : { + errcap : "Error", + nourl : "No s'ha especificat una URL", + norecords: "No hi ha dades per processar", + model : "Les columnes de noms són diferents de les columnes del model" + }, + formatter : { + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Dg", "Dl", "Dt", "Dc", "Dj", "Dv", "Ds", + "Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte" + ], + monthNames: [ + "Gen", "Febr", "Març", "Abr", "Maig", "Juny", "Jul", "Ag", "Set", "Oct", "Nov", "Des", + "Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd-m-Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: 'show', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-cn.js b/src/main/webapp/resources/demo2/i18n/grid.locale-cn.js new file mode 100644 index 0000000..22ddbda --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-cn.js @@ -0,0 +1,207 @@ +/** + * jqGrid Chinese Translation + * 咖啡兔 yanhonglei@gmail.com + * http://www.kafeitu.me + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["cn"] = { + defaults : { + recordtext: "{0} - {1}\u3000共 {2} 条", // 共字前是全角空格 + emptyrecords: "无数据显示", + loadtext: "读取中...", + savetext: "Saving...", + pgtext : " {0} 共 {1} 页", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "搜索...", + Find: "查找", + Reset: "重置", + odata: [{ oper:'eq', text:'等于\u3000\u3000'},{ oper:'ne', text:'不等\u3000\u3000'},{ oper:'lt', text:'小于\u3000\u3000'},{ oper:'le', text:'小于等于'},{ oper:'gt', text:'大于\u3000\u3000'},{ oper:'ge', text:'大于等于'},{ oper:'bw', text:'开始于'},{ oper:'bn', text:'不开始于'},{ oper:'in', text:'属于\u3000\u3000'},{ oper:'ni', text:'不属于'},{ oper:'ew', text:'结束于'},{ oper:'en', text:'不结束于'},{ oper:'cn', text:'包含\u3000\u3000'},{ oper:'nc', text:'不包含'},{ oper:'nu', text:'不存在'},{ oper:'nn', text:'存在'}], + groupOps: [ { op: "AND", text: "所有" }, { op: "OR", text: "任一" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "添加记录", + editCaption: "编辑记录", + bSubmit: "提交", + bCancel: "取消", + bClose: "关闭", + saveData: "数据已改变,是否保存?", + bYes : "是", + bNo : "否", + bExit : "取消", + msg: { + required:"此字段必需", + number:"请输入有效数字", + minValue:"输值必须大于等于 ", + maxValue:"输值必须小于等于 ", + email: "这不是有效的e-mail地址", + integer: "请输入有效整数", + date: "请输入有效时间", + url: "无效网址。前缀必须为 ('http://' 或 'https://')", + nodefined : " 未定义!", + novalue : " 需要返回值!", + customarray : "自定义函数需要返回数组!", + customfcheck : "必须有自定义函数!" + } + }, + view : { + caption: "查看记录", + bClose: "关闭" + }, + del : { + caption: "删除", + msg: "删除所选记录?", + bSubmit: "删除", + bCancel: "取消" + }, + nav : { + edittext: "", + edittitle: "编辑所选记录", + addtext:"", + addtitle: "添加新记录", + deltext: "", + deltitle: "删除所选记录", + searchtext: "", + searchtitle: "查找", + refreshtext: "", + refreshtitle: "刷新表格", + alertcap: "注意", + alerttext: "请选择记录", + viewtext: "", + viewtitle: "查看所选记录", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "选择列", + bSubmit: "确定", + bCancel: "取消" + }, + errors : { + errcap : "错误", + nourl : "没有设置url", + norecords: "没有要处理的记录", + model : "colNames 和 colModel 长度不等!" + }, + formatter : { + integer : {thousandsSeparator: ",", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "日", "一", "二", "三", "四", "五", "六", + "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", + ], + monthNames: [ + "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二", + "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" + ], + AmPm : ["am","pm","上午","下午"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';}, + srcformat: 'Y-m-d', + newformat: 'Y-m-d', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid + // and see http://docs.jquery.com/UI/Datepicker/formatDate + // and https://github.com/jquery/globalize#dates for alternative formats used frequently + // one can find on https://github.com/jquery/globalize/tree/master/lib/cultures many + // information about date, time, numbers and currency formats used in different countries + // one should just convert the information in PHP format + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + // short date: + // n - Numeric representation of a month, without leading zeros + // j - Day of the month without leading zeros + // Y - A full numeric representation of a year, 4 digits + // example: 3/1/2012 which means 1 March 2012 + ShortDate: "n/j/Y", // in jQuery UI Datepicker: "M/d/yyyy" + // long date: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + LongDate: "l, F d, Y", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy" + // long date with long time: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + FullDateTime: "l, F d, Y g:i:s A", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy h:mm:ss tt" + // month day: + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + MonthDay: "F d", // in jQuery UI Datepicker: "MMMM dd" + // short time (without seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + ShortTime: "g:i A", // in jQuery UI Datepicker: "h:mm tt" + // long time (with seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + LongTime: "g:i:s A", // in jQuery UI Datepicker: "h:mm:ss tt" + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + // month with year + // Y - A full numeric representation of a year, 4 digits + // F - A full textual representation of a month + YearMonth: "F, Y" // in jQuery UI Datepicker: "MMMM, yyyy" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-cs.js b/src/main/webapp/resources/demo2/i18n/grid.locale-cs.js new file mode 100644 index 0000000..d5d26d7 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-cs.js @@ -0,0 +1,168 @@ +/** + * jqGrid Czech Translation + * Pavel Jirak pavel.jirak@jipas.cz + * doplnil Thomas Wagner xwagne01@stud.fit.vutbr.cz + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["cs"] = { + defaults : { + recordtext: "Zobrazeno {0} - {1} z {2} záznamů", + emptyrecords: "Nenalezeny žádné záznamy", + loadtext: "Načítám...", + savetext: "Saving...", + pgtext : "Strana {0} z {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Vyhledávám...", + Find: "Hledat", + Reset: "Reset", + odata: [{ oper:'eq', text:"rovno"},{ oper:'ne', text:"nerovno"},{ oper:'lt', text:"menší"},{ oper:'le', text:"menší nebo rovno"},{ oper:'gt', text:"větší"},{ oper:'ge', text:"větší nebo rovno"},{ oper:'bw', text:"začíná s"},{ oper:'bn', text:"nezačíná s"},{ oper:'in', text:"je v"},{ oper:'ni', text:"není v"},{ oper:'ew', text:"končí s"},{ oper:'en', text:"nekončí s"},{ oper:'cn', text:"obsahuje"},{ oper:'nc', text:"neobsahuje"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "všech" }, { op: "OR", text: "některého z" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Přidat záznam", + editCaption: "Editace záznamu", + bSubmit: "Uložit", + bCancel: "Storno", + bClose: "Zavřít", + saveData: "Data byla změněna! Uložit změny?", + bYes : "Ano", + bNo : "Ne", + bExit : "Zrušit", + msg: { + required:"Pole je vyžadováno", + number:"Prosím, vložte validní číslo", + minValue:"hodnota musí být větší než nebo rovná ", + maxValue:"hodnota musí být menší než nebo rovná ", + email: "není validní e-mail", + integer: "Prosím, vložte celé číslo", + date: "Prosím, vložte validní datum", + url: "není platnou URL. Vyžadován prefix ('http://' or 'https://')", + nodefined : " není definován!", + novalue : " je vyžadována návratová hodnota!", + customarray : "Custom function mělá vrátit pole!", + customfcheck : "Custom function by měla být přítomna v případě custom checking!" + } + }, + view : { + caption: "Zobrazit záznam", + bClose: "Zavřít" + }, + del : { + caption: "Smazat", + msg: "Smazat vybraný(é) záznam(y)?", + bSubmit: "Smazat", + bCancel: "Storno" + }, + nav : { + edittext: " ", + edittitle: "Editovat vybraný řádek", + addtext:" ", + addtitle: "Přidat nový řádek", + deltext: " ", + deltitle: "Smazat vybraný záznam ", + searchtext: " ", + searchtitle: "Najít záznamy", + refreshtext: "", + refreshtitle: "Obnovit tabulku", + alertcap: "Varování", + alerttext: "Prosím, vyberte řádek", + viewtext: "", + viewtitle: "Zobrazit vybraný řádek", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Zobrazit/Skrýt sloupce", + bSubmit: "Uložit", + bCancel: "Storno" + }, + errors : { + errcap : "Chyba", + nourl : "Není nastavena url", + norecords: "Žádné záznamy ke zpracování", + model : "Délka colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Ne", "Po", "Út", "St", "Čt", "Pá", "So", + "Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota" + ], + monthNames: [ + "Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čvc", "Srp", "Zář", "Říj", "Lis", "Pro", + "Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec" + ], + AmPm : ["do","od","DO","OD"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-de.js b/src/main/webapp/resources/demo2/i18n/grid.locale-de.js new file mode 100644 index 0000000..8b83017 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-de.js @@ -0,0 +1,215 @@ +/** + * jqGrid German Translation + * Version 1.0.0 (developed for jQuery Grid 3.3.1) + * Olaf Klöppel opensource@blue-hit.de + * http://blue-hit.de/ + * + * Updated for jqGrid 3.8 + * Andreas Flack + * http://www.contentcontrol-berlin.de + * + * Updated for jQuery 4.4 + * Oleg Kiriljuk oleg.kiriljuk@ok-soft-gmbh.com + * the format corresponds now the format from + * https://github.com/jquery/globalize/blob/master/lib/cultures/globalize.culture.de.js + * + * Updated for jqGrid 4.8 + * Tony Tomov + * http://www.guriddo.net + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["de"] = { + defaults : { + recordtext: "Zeige {0} - {1} von {2}", + emptyrecords: "Keine Datensätze vorhanden", + loadtext: "Lädt...", + savetext: "Speichern...", + pgtext : "Seite {0} von {1}", + pgfirst : "erste Seite", + pglast : "letzte Seite", + pgnext : "nächste Seite", + pgprev : "vorherige Seite", + pgrecs : "Datensätze pro Seite", + showhide: "Toggle erweitern reduzieren", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Suche...", + Find: "Suchen", + Reset: "Zurücksetzen", + odata: [{ oper:'eq', text:"gleich"},{ oper:'ne', text:"ungleich"},{ oper:'lt', text:"kleiner"},{ oper:'le', text:"kleiner gleich"},{ oper:'gt', text:"größer"},{ oper:'ge', text:"größer gleich"},{ oper:'bw', text:"beginnt mit"},{ oper:'bn', text:"beginnt nicht mit"},{ oper:'in', text:"ist in"},{ oper:'ni', text:"ist nicht in"},{ oper:'ew', text:"endet mit"},{ oper:'en', text:"endet nicht mit"},{ oper:'cn', text:"enthält"},{ oper:'nc', text:"enthält nicht"}, { oper:'nu', text:"ist Null" }, { oper:'nn', text:"ist nicht Null" }], + groupOps: [{ op: "AND", text: "alle" },{ op: "OR", text: "mindestens eine" }], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Datensatz hinzufügen", + editCaption: "Datensatz bearbeiten", + bSubmit: "Speichern", + bCancel: "Abbrechen", + bClose: "Schließen", + saveData: "Daten wurden geändert! Änderungen speichern?", + bYes : "ja", + bNo : "nein", + bExit : "abbrechen", + msg: { + required:"Feld ist erforderlich", + number: "Bitte geben Sie eine Zahl ein", + minValue:"Wert muss größer oder gleich sein, als ", + maxValue:"Wert muss kleiner oder gleich sein, als ", + email: "ist keine gültige E-Mail-Adresse", + integer: "Bitte geben Sie eine Ganzzahl ein", + date: "Bitte geben Sie ein gültiges Datum ein", + url: "ist keine gültige URL. Präfix muss eingegeben werden ('http://' oder 'https://')", + nodefined : " ist nicht definiert!", + novalue : " Rückgabewert ist erforderlich!", + customarray : "Benutzerdefinierte Funktion sollte ein Array zurückgeben!", + customfcheck : "Benutzerdefinierte Funktion sollte im Falle der benutzerdefinierten Überprüfung vorhanden sein!" + } + }, + view : { + caption: "Datensatz anzeigen", + bClose: "Schließen" + }, + del : { + caption: "Löschen", + msg: "Ausgewählte Datensätze löschen?", + bSubmit: "Löschen", + bCancel: "Abbrechen" + }, + nav : { + edittext: " ", + edittitle: "Ausgewählte Zeile editieren", + addtext:" ", + addtitle: "Neue Zeile einfügen", + deltext: " ", + deltitle: "Ausgewählte Zeile löschen", + searchtext: " ", + searchtitle: "Datensatz suchen", + refreshtext: "", + refreshtitle: "Tabelle neu laden", + alertcap: "Warnung", + alerttext: "Bitte Zeile auswählen", + viewtext: "", + viewtitle: "Ausgewählte Zeile anzeigen", + savetext: "", + savetitle: "Zeile speihern", + canceltext: "", + canceltitle : "Zeile abbrechen", + selectcaption : "Actions..." + }, + col : { + caption: "Spalten auswählen", + bSubmit: "Speichern", + bCancel: "Abbrechen" + }, + errors : { + errcap : "Fehler", + nourl : "Keine URL angegeben", + norecords: "Keine Datensätze zu bearbeiten", + model : "colNames und colModel sind unterschiedlich lang!" + }, + formatter : { + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "", suffix:" €", defaultValue: '0,00'}, + date : { + dayNames: [ + "So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", + "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", + "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" + ], + AmPm : ["","","",""], + S: function () {return '.';}, // one can also use 'er' instead of '.' but one have to use additional word like 'der' or 'den' before + srcformat: 'Y-m-d', + newformat: 'd.m.Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid + // and see http://docs.jquery.com/UI/Datepicker/formatDate + // and https://github.com/jquery/globalize#dates for alternative formats used frequently + ISO8601Long: "Y-m-d H:i:s", + ISO8601Short: "Y-m-d", + // short date: + // d - Day of the month, 2 digits with leading zeros + // m - Numeric representation of a month, with leading zeros + // Y - A full numeric representation of a year, 4 digits + ShortDate: "d.m.Y", // in jQuery UI Datepicker: "dd.MM.yyyy" + // long date: + // l - A full textual representation of the day of the week + // j - Day of the month without leading zeros + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + LongDate: "l, j. F Y", // in jQuery UI Datepicker: "dddd, d. MMMM yyyy" + // long date with long time: + // l - A full textual representation of the day of the week + // j - Day of the month without leading zeros + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + FullDateTime: "l, j. F Y H:i:s", // in jQuery UI Datepicker: "dddd, d. MMMM yyyy HH:mm:ss" + // month day: + // d - Day of the month, 2 digits with leading zeros + // F - A full textual representation of a month + MonthDay: "d F", // in jQuery UI Datepicker: "dd MMMM" + // short time (without seconds) + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + ShortTime: "H:i", // in jQuery UI Datepicker: "HH:mm" + // long time (with seconds) + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + LongTime: "H:i:s", // in jQuery UI Datepicker: "HH:mm:ss" + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + // month with year + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + YearMonth: "F Y" // in jQuery UI Datepicker: "MMMM yyyy" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-dk.js b/src/main/webapp/resources/demo2/i18n/grid.locale-dk.js new file mode 100644 index 0000000..2f6ae5e --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-dk.js @@ -0,0 +1,168 @@ +/** + * jqGrid Danish Translation + * Kaare Rasmussen kjs@jasonic.dk + * http://jasonic.dk/blog + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["dk"] = { + defaults : { + recordtext: "View {0} - {1} of {2}", + emptyrecords: "No records to view", + loadtext: "Loading...", + savetext: "Saving...", + pgtext : "Page {0} of {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Søg...", + Find: "Find", + Reset: "Nulstil", + odata: [{ oper:'eq', text:'equal'},{ oper:'ne', text:'not equal'},{ oper:'lt', text:'less'},{ oper:'le', text:'less or equal'},{ oper:'gt', text:'greater'},{ oper:'ge', text:'greater or equal'},{ oper:'bw', text:'begins with'},{ oper:'bn', text:'does not begin with'},{ oper:'in', text:'is in'},{ oper:'ni', text:'is not in'},{ oper:'ew', text:'ends with'},{ oper:'en', text:'does not end with'},{ oper:'cn', text:'contains'},{ oper:'nc', text:'does not contain'},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Tilføj", + editCaption: "Ret", + bSubmit: "Send", + bCancel: "Annuller", + bClose: "Luk", + saveData: "Data has been changed! Save changes?", + bYes : "Yes", + bNo : "No", + bExit : "Cancel", + msg: { + required:"Felt er nødvendigt", + number:"Indtast venligst et validt tal", + minValue:"værdi skal være større end eller lig med", + maxValue:"værdi skal være mindre end eller lig med", + email: "er ikke en valid email", + integer: "Indtast venligst et validt heltalt", + date: "Indtast venligst en valid datoværdi", + url: "is not a valid URL. Prefix required ('http://' or 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "View Record", + bClose: "Close" + }, + del : { + caption: "Slet", + msg: "Slet valgte række(r)?", + bSubmit: "Slet", + bCancel: "Annuller" + }, + nav : { + edittext: " ", + edittitle: "Rediger valgte række", + addtext:" ", + addtitle: "Tilføj ny række", + deltext: " ", + deltitle: "Slet valgte række", + searchtext: " ", + searchtitle: "Find poster", + refreshtext: "", + refreshtitle: "Indlæs igen", + alertcap: "Advarsel", + alerttext: "Vælg venligst række", + viewtext: "", + viewtitle: "View selected row", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Vis/skjul kolonner", + bSubmit: "Send", + bCancel: "Annuller" + }, + errors : { + errcap : "Fejl", + nourl : "Ingel url valgt", + norecords: "Ingen poster at behandle", + model : "colNames og colModel har ikke samme længde!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Søn", "Man", "Tirs", "Ons", "Tors", "Fre", "Lør", + "Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec", + "Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December" + ], + AmPm : ["","","",""], + S: function (j) {return '.'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "j/n/Y", + LongDate: "l d. F Y", + FullDateTime: "l d F Y G:i:s", + MonthDay: "d. F", + ShortTime: "G:i", + LongTime: "G:i:s", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +// DK +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-el.js b/src/main/webapp/resources/demo2/i18n/grid.locale-el.js new file mode 100644 index 0000000..744b574 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-el.js @@ -0,0 +1,166 @@ +/** + * jqGrid Greek (el) Translation + * Alex Cicovic + * http://www.alexcicovic.com + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["el"] = { + defaults : { + recordtext: "View {0} - {1} of {2}", + emptyrecords: "No records to view", + loadtext: "Φόρτωση...", + savetext: "Saving...", + pgtext : "Page {0} of {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Αναζήτηση...", + Find: "Εύρεση", + Reset: "Επαναφορά", + odata: [{ oper:'eq', text:'equal'},{ oper:'ne', text:'not equal'},{ oper:'lt', text:'less'},{ oper:'le', text:'less or equal'},{ oper:'gt', text:'greater'},{ oper:'ge', text:'greater or equal'},{ oper:'bw', text:'begins with'},{ oper:'bn', text:'does not begin with'},{ oper:'in', text:'is in'},{ oper:'ni', text:'is not in'},{ oper:'ew', text:'ends with'},{ oper:'en', text:'does not end with'},{ oper:'cn', text:'contains'},{ oper:'nc', text:'does not contain'},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Εισαγωγή Εγγραφής", + editCaption: "Επεξεργασία Εγγραφής", + bSubmit: "Καταχώρηση", + bCancel: "Άκυρο", + bClose: "Κλείσιμο", + saveData: "Data has been changed! Save changes?", + bYes : "Yes", + bNo : "No", + bExit : "Cancel", + msg: { + required:"Το πεδίο είναι απαραίτητο", + number:"Το πεδίο δέχεται μόνο αριθμούς", + minValue:"Η τιμή πρέπει να είναι μεγαλύτερη ή ίση του ", + maxValue:"Η τιμή πρέπει να είναι μικρότερη ή ίση του ", + email: "Η διεύθυνση e-mail δεν είναι έγκυρη", + integer: "Το πεδίο δέχεται μόνο ακέραιους αριθμούς", + url: "is not a valid URL. Prefix required ('http://' or 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "View Record", + bClose: "Close" + }, + del : { + caption: "Διαγραφή", + msg: "Διαγραφή των επιλεγμένων εγγραφών;", + bSubmit: "Ναι", + bCancel: "Άκυρο" + }, + nav : { + edittext: " ", + edittitle: "Επεξεργασία επιλεγμένης εγγραφής", + addtext:" ", + addtitle: "Εισαγωγή νέας εγγραφής", + deltext: " ", + deltitle: "Διαγραφή επιλεγμένης εγγραφής", + searchtext: " ", + searchtitle: "Εύρεση Εγγραφών", + refreshtext: "", + refreshtitle: "Ανανέωση Πίνακα", + alertcap: "Προσοχή", + alerttext: "Δεν έχετε επιλέξει εγγραφή", + viewtext: "", + viewtitle: "View selected row", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Εμφάνιση / Απόκρυψη Στηλών", + bSubmit: "ΟΚ", + bCancel: "Άκυρο" + }, + errors : { + errcap : "Σφάλμα", + nourl : "Δεν έχει δοθεί διεύθυνση χειρισμού για τη συγκεκριμένη ενέργεια", + norecords: "Δεν υπάρχουν εγγραφές προς επεξεργασία", + model : "Άνισος αριθμός πεδίων colNames/colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", + "Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο" + ], + monthNames: [ + "Ιαν", "Φεβ", "Μαρ", "Απρ", "Μαι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ", + "Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος" + ], + AmPm : ["πμ","μμ","ΠΜ","ΜΜ"], + S: function (j) {return j == 1 || j > 1 ? ['η'][Math.min((j - 1) % 10, 3)] : ''}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-en.js b/src/main/webapp/resources/demo2/i18n/grid.locale-en.js new file mode 100644 index 0000000..b2cdee6 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-en.js @@ -0,0 +1,208 @@ +/** + * jqGrid English Translation + * Tony Tomov tony@trirand.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["en"] = { + defaults : { + recordtext: "View {0} - {1} of {2}", + emptyrecords: "No records to view", + loadtext: "Loading...", + savetext: "Saving...", + pgtext : "Page {0} of {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Search...", + Find: "Find", + Reset: "Reset", + odata: [{ oper:'eq', text:'equal'},{ oper:'ne', text:'not equal'},{ oper:'lt', text:'less'},{ oper:'le', text:'less or equal'},{ oper:'gt', text:'greater'},{ oper:'ge', text:'greater or equal'},{ oper:'bw', text:'begins with'},{ oper:'bn', text:'does not begin with'},{ oper:'in', text:'is in'},{ oper:'ni', text:'is not in'},{ oper:'ew', text:'ends with'},{ oper:'en', text:'does not end with'},{ oper:'cn', text:'contains'},{ oper:'nc', text:'does not contain'},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [{ op: "AND", text: "all" },{ op: "OR", text: "any" }], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Add Record", + editCaption: "Edit Record", + bSubmit: "Submit", + bCancel: "Cancel", + bClose: "Close", + saveData: "Data has been changed! Save changes?", + bYes : "Yes", + bNo : "No", + bExit : "Cancel", + msg: { + required:"Field is required", + number:"Please, enter valid number", + minValue:"value must be greater than or equal to ", + maxValue:"value must be less than or equal to", + email: "is not a valid e-mail", + integer: "Please, enter valid integer value", + date: "Please, enter valid date value", + url: "is not a valid URL. Prefix required ('http://' or 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + + } + }, + view : { + caption: "View Record", + bClose: "Close" + }, + del : { + caption: "Delete", + msg: "Delete selected record(s)?", + bSubmit: "Delete", + bCancel: "Cancel" + }, + nav : { + edittext: "", + edittitle: "Edit selected row", + addtext:"", + addtitle: "Add new row", + deltext: "", + deltitle: "Delete selected row", + searchtext: "", + searchtitle: "Find records", + refreshtext: "", + refreshtitle: "Reload Grid", + alertcap: "Warning", + alerttext: "Please, select row", + viewtext: "", + viewtitle: "View selected row", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Select columns", + bSubmit: "Ok", + bCancel: "Cancel" + }, + errors : { + errcap : "Error", + nourl : "No url is set", + norecords: "No records to process", + model : "Length of colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: ",", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat", + "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", + "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';}, + srcformat: 'Y-m-d', + newformat: 'n/j/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid + // and see http://docs.jquery.com/UI/Datepicker/formatDate + // and https://github.com/jquery/globalize#dates for alternative formats used frequently + // one can find on https://github.com/jquery/globalize/tree/master/lib/cultures many + // information about date, time, numbers and currency formats used in different countries + // one should just convert the information in PHP format + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + // short date: + // n - Numeric representation of a month, without leading zeros + // j - Day of the month without leading zeros + // Y - A full numeric representation of a year, 4 digits + // example: 3/1/2012 which means 1 March 2012 + ShortDate: "n/j/Y", // in jQuery UI Datepicker: "M/d/yyyy" + // long date: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + LongDate: "l, F d, Y", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy" + // long date with long time: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + FullDateTime: "l, F d, Y g:i:s A", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy h:mm:ss tt" + // month day: + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + MonthDay: "F d", // in jQuery UI Datepicker: "MMMM dd" + // short time (without seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + ShortTime: "g:i A", // in jQuery UI Datepicker: "h:mm tt" + // long time (with seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + LongTime: "g:i:s A", // in jQuery UI Datepicker: "h:mm:ss tt" + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + // month with year + // Y - A full numeric representation of a year, 4 digits + // F - A full textual representation of a month + YearMonth: "F, Y" // in jQuery UI Datepicker: "MMMM, yyyy" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-es.js b/src/main/webapp/resources/demo2/i18n/grid.locale-es.js new file mode 100644 index 0000000..3744baa --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-es.js @@ -0,0 +1,168 @@ +/** + * jqGrid Spanish Translation + * Traduccion jqGrid en Español por Yamil Bracho + * Traduccion corregida y ampliada por Faserline, S.L. + * http://www.faserline.com + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["es"] = { + defaults : { + recordtext: "Mostrando {0} - {1} de {2}", + emptyrecords: "Sin registros que mostrar", + loadtext: "Cargando...", + savetext: "Saving...", + pgtext : "Página {0} de {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Búsqueda...", + Find: "Buscar", + Reset: "Limpiar", + odata: [{ oper:'eq', text:"igual "},{ oper:'ne', text:"no igual a"},{ oper:'lt', text:"menor que"},{ oper:'le', text:"menor o igual que"},{ oper:'gt', text:"mayor que"},{ oper:'ge', text:"mayor o igual a"},{ oper:'bw', text:"empiece por"},{ oper:'bn', text:"no empiece por"},{ oper:'in', text:"está en"},{ oper:'ni', text:"no está en"},{ oper:'ew', text:"termina por"},{ oper:'en', text:"no termina por"},{ oper:'cn', text:"contiene"},{ oper:'nc', text:"no contiene"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "todo" }, { op: "OR", text: "cualquier" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Agregar registro", + editCaption: "Modificar registro", + bSubmit: "Guardar", + bCancel: "Cancelar", + bClose: "Cerrar", + saveData: "Se han modificado los datos, ¿guardar cambios?", + bYes : "Si", + bNo : "No", + bExit : "Cancelar", + msg: { + required:"Campo obligatorio", + number:"Introduzca un número", + minValue:"El valor debe ser mayor o igual a ", + maxValue:"El valor debe ser menor o igual a ", + email: "no es una dirección de correo válida", + integer: "Introduzca un valor entero", + date: "Introduza una fecha correcta ", + url: "no es una URL válida. Prefijo requerido ('http://' or 'https://')", + nodefined : " no está definido.", + novalue : " valor de retorno es requerido.", + customarray : "La función personalizada debe devolver un array.", + customfcheck : "La función personalizada debe estar presente en el caso de validación personalizada." + } + }, + view : { + caption: "Consultar registro", + bClose: "Cerrar" + }, + del : { + caption: "Eliminar", + msg: "¿Desea eliminar los registros seleccionados?", + bSubmit: "Eliminar", + bCancel: "Cancelar" + }, + nav : { + edittext: " ", + edittitle: "Modificar fila seleccionada", + addtext:" ", + addtitle: "Agregar nueva fila", + deltext: " ", + deltitle: "Eliminar fila seleccionada", + searchtext: " ", + searchtitle: "Buscar información", + refreshtext: "", + refreshtitle: "Recargar datos", + alertcap: "Aviso", + alerttext: "Seleccione una fila", + viewtext: "", + viewtitle: "Ver fila seleccionada", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Mostrar/ocultar columnas", + bSubmit: "Enviar", + bCancel: "Cancelar" + }, + errors : { + errcap : "Error", + nourl : "No se ha especificado una URL", + norecords: "No hay datos para procesar", + model : "Las columnas de nombres son diferentes de las columnas de modelo" + }, + formatter : { + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", + "Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" + ], + monthNames: [ + "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", + "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd-m-Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-fa.js b/src/main/webapp/resources/demo2/i18n/grid.locale-fa.js new file mode 100644 index 0000000..fbe02cb --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-fa.js @@ -0,0 +1,185 @@ +/** + * jqGrid Persian Translation + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["fa"] = { + defaults: { + recordtext: "نمابش {0} - {1} از {2}", + emptyrecords: "رکوردی یافت نشد", + loadtext: "بارگزاري...", + savetext: "Saving...", + pgtext: "صفحه {0} از {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search: { + caption: "جستجو...", + Find: "يافته ها", + Reset: "از نو", + odata: [{ oper:'eq', text:"برابر"},{ oper:'ne', text:"نا برابر"},{ oper:'lt', text:"به"},{ oper:'le', text:"کوچکتر"},{ oper:'gt', text:"از"},{ oper:'ge', text:"بزرگتر"},{ oper:'bw', text:"شروع با"},{ oper:'bn', text:"شروع نشود با"},{ oper:'in', text:"نباشد"},{ oper:'ni', text:"عضو این نباشد"},{ oper:'ew', text:"اتمام با"},{ oper:'en', text:"تمام نشود با"},{ oper:'cn', text:"حاوی"},{ oper:'nc', text:"نباشد حاوی"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [{ + op: "AND", + text: "کل" + }, + { + op: "OR", + text: "مجموع" + }], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit: { + addCaption: "اضافه کردن رکورد", + editCaption: "ويرايش رکورد", + bSubmit: "ثبت", + bCancel: "انصراف", + bClose: "بستن", + saveData: "دیتا تعییر کرد! ذخیره شود؟", + bYes: "بله", + bNo: "خیر", + bExit: "انصراف", + msg: { + required: "فيلدها بايد ختما پر شوند", + number: "لطفا عدد وعتبر وارد کنيد", + minValue: "مقدار وارد شده بايد بزرگتر يا مساوي با", + maxValue: "مقدار وارد شده بايد کوچکتر يا مساوي", + email: "پست الکترونيک وارد شده معتبر نيست", + integer: "لطفا يک عدد صحيح وارد کنيد", + date: "لطفا يک تاريخ معتبر وارد کنيد", + url: "این آدرس صحیح نمی باشد. پیشوند نیاز است ('http://' یا 'https://')", + nodefined: " تعریف نشده!", + novalue: " مقدار برگشتی اجباری است!", + customarray: "تابع شما باید مقدار آرایه داشته باشد!", + customfcheck: "برای داشتن متد دلخواه شما باید سطون با چکینگ دلخواه داشته باشید!" + } + }, + view: { + caption: "نمایش رکورد", + bClose: "بستن" + }, + del: { + caption: "حذف", + msg: "از حذف گزينه هاي انتخاب شده مطمئن هستيد؟", + bSubmit: "حذف", + bCancel: "ابطال" + }, + nav: { + edittext: " ", + edittitle: "ويرايش رديف هاي انتخاب شده", + addtext: " ", + addtitle: "افزودن رديف جديد", + deltext: " ", + deltitle: "حذف ردبف هاي انتیاب شده", + searchtext: " ", + searchtitle: "جستجوي رديف", + refreshtext: "", + refreshtitle: "بازيابي مجدد صفحه", + alertcap: "اخطار", + alerttext: "لطفا يک رديف انتخاب کنيد", + viewtext: "", + viewtitle: "نمایش رکورد های انتخاب شده", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col: { + caption: "نمايش/عدم نمايش ستون", + bSubmit: "ثبت", + bCancel: "انصراف" + }, + errors: { + errcap: "خطا", + nourl: "هيچ آدرسي تنظيم نشده است", + norecords: "هيچ رکوردي براي پردازش موجود نيست", + model: "طول نام ستون ها محالف ستون هاي مدل مي باشد!" + }, + formatter: { + integer: { + thousandsSeparator: " ", + defaultValue: "0" + }, + number: { + decimalSeparator: ".", + thousandsSeparator: " ", + decimalPlaces: 2, + defaultValue: "0.00" + }, + currency: { + decimalSeparator: ".", + thousandsSeparator: " ", + decimalPlaces: 2, + prefix: "", + suffix: "", + defaultValue: "0" + }, + date: { + dayNames: ["يک", "دو", "سه", "چهار", "پنج", "جمع", "شنب", "يکشنبه", "دوشنبه", "سه شنبه", "چهارشنبه", "پنجشنبه", "جمعه", "شنبه"], + monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "ژانويه", "فوريه", "مارس", "آوريل", "مه", "ژوئن", "ژوئيه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "December"], + AmPm: ["ب.ظ", "ب.ظ", "ق.ظ", "ق.ظ"], + S: function (b) { + return b < 11 || b > 13 ? ["st", "nd", "rd", "th"][Math.min((b - 1) % 10, 3)] : "th" + }, + srcformat: "Y-m-d", + newformat: "d/m/Y", + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks: { + ISO8601Long: "Y-m-d H:i:s", + ISO8601Short: "Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit: false, + userLocalTime : false + }, + baseLinkUrl: "", + showAction: "نمايش", + target: "", + checkbox: { + disabled: true + }, + idName: "id" + } + }; +})); \ No newline at end of file diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-fi.js b/src/main/webapp/resources/demo2/i18n/grid.locale-fi.js new file mode 100644 index 0000000..8a73556 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-fi.js @@ -0,0 +1,169 @@ +/** + * jqGrid (fi) Finnish Translation + * Jukka Inkeri awot.fi 2010-05-19 + * Alex Grönholm alex.gronholm@nextday.fi 2011-05-18 + * http://awot.fi + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["fi"] = { + defaults: { + recordtext: "Rivit {0} - {1} / {2}", + emptyrecords: "Ei näytettäviä", + loadtext: "Haetaan...", + savetext: "Saving...", + pgtext: "Sivu {0} / {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search: { + caption: "Etsi...", + Find: "Etsi", + Reset: "Tyhjennä", + odata: [{ oper:'eq', text:"on"},{ oper:'ne', text:"ei ole"},{ oper:'lt', text:"pienempi"},{ oper:'le', text:"pienempi tai yhtäsuuri"},{ oper:'gt', text:"suurempi"},{ oper:'ge', text:"suurempi tai yhtäsuuri"},{ oper:'bw', text:"alkaa"},{ oper:'bn', text:"ei ala"},{ oper:'in', text:"joukossa"},{ oper:'ni', text:"ei joukossa"},{ oper:'ew', text:"loppuu"},{ oper:'en', text:"ei lopu"},{ oper:'cn', text:"sisältää"},{ oper:'nc', text:"ei sisällä"},{ oper:'nu', text:"on tyhjä"},{ oper:'nn', text:"ei ole tyhjä"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "kaikki" }, { op: "OR", text: "mikä tahansa" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit: { + addCaption: "Uusi rivi", + editCaption: "Muokkaa riviä", + bSubmit: "OK", + bCancel: "Peru", + bClose: "Sulje", + saveData: "Tietoja muutettu! Tallennetaanko?", + bYes: "Kyllä", + bNo: "Ei", + bExit: "Peru", + msg: { + required: "pakollinen", + number: "Anna kelvollinen nro", + minValue: "arvon oltava suurempi tai yhtäsuuri kuin ", + maxValue: "arvon oltava pienempi tai yhtäsuuri kuin ", + email: "ei ole kelvollinen säpostiosoite", + integer: "Anna kelvollinen kokonaisluku", + date: "Anna kelvollinen pvm", + url: "Ei ole kelvollinen linkki(URL). Alku oltava ('http://' tai 'https://')", + nodefined: " ei ole määritelty!", + novalue: " paluuarvo vaaditaan!", + customarray: "Oman funktion tulee palauttaa jono!", + customfcheck: "Oma funktio on määriteltävä räätälöityä tarkastusta varten!" + } + }, + view: { + caption: "Näytä rivi", + bClose: "Sulje" + }, + del: { + caption: "Poista", + msg: "Poista valitut rivit?", + bSubmit: "Poista", + bCancel: "Peru" + }, + nav: { + edittext: "", + edittitle: "Muokkaa valittua riviä", + addtext: "", + addtitle: "Uusi rivi", + deltext: "", + deltitle: "Poista valittu rivi", + searchtext: "", + searchtitle: "Etsi tietoja", + refreshtext: "", + refreshtitle: "Lataa uudelleen", + alertcap: "Varoitus", + alerttext: "Valitse rivi", + viewtext: "", + viewtitle: "Näyta valitut rivit", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col: { + caption: "Valitse sarakkeet", + bSubmit: "OK", + bCancel: "Peru" + }, + errors : { + errcap: "Virhe", + nourl: "URL on asettamatta", + norecords: "Ei muokattavia tietoja", + model: "Pituus colNames <> colModel!" + }, + formatter: { + integer: {thousandsSeparator: "", defaultValue: '0'}, + number: {decimalSeparator:",", thousandsSeparator: "", decimalPlaces: 2, defaultValue: '0,00'}, + currency: {decimalSeparator:",", thousandsSeparator: "", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date: { + dayNames: [ + "Su", "Ma", "Ti", "Ke", "To", "Pe", "La", + "Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai" + ], + monthNames: [ + "Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou", + "Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu" + ], + AmPm: ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd.m.Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks: { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "d.m.Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox: {disabled:true}, + idName: 'id' + } +}; +// FI +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-fr.js b/src/main/webapp/resources/demo2/i18n/grid.locale-fr.js new file mode 100644 index 0000000..b3a6d1f --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-fr.js @@ -0,0 +1,166 @@ +/** + * jqGrid French Translation + * Tony Tomov tony@trirand.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["fr"] = { + defaults : { + recordtext: "Enregistrements {0} - {1} sur {2}", + emptyrecords: "Aucun enregistrement à afficher", + loadtext: "Chargement...", + savetext: "Saving...", + pgtext : "Page {0} sur {1}", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Recherche...", + Find: "Chercher", + Reset: "Réinitialiser", + odata: [{ oper:'eq', text:"égal"},{ oper:'ne', text:"différent"},{ oper:'lt', text:"inférieur"},{ oper:'le', text:"inférieur ou égal"},{ oper:'gt', text:"supérieur"},{ oper:'ge', text:"supérieur ou égal"},{ oper:'bw', text:"commence par"},{ oper:'bn', text:"ne commence pas par"},{ oper:'in', text:"est dans"},{ oper:'ni', text:"n'est pas dans"},{ oper:'ew', text:"finit par"},{ oper:'en', text:"ne finit pas par"},{ oper:'cn', text:"contient"},{ oper:'nc', text:"ne contient pas"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "tous" }, { op: "OR", text: "au moins un" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Ajouter", + editCaption: "Editer", + bSubmit: "Valider", + bCancel: "Annuler", + bClose: "Fermer", + saveData: "Les données ont changé ! Enregistrer les modifications ?", + bYes: "Oui", + bNo: "Non", + bExit: "Annuler", + msg: { + required: "Champ obligatoire", + number: "Saisissez un nombre correct", + minValue: "La valeur doit être supérieure ou égale à", + maxValue: "La valeur doit être inférieure ou égale à", + email: "n'est pas un email correct", + integer: "Saisissez un entier correct", + url: "n'est pas une adresse correcte. Préfixe requis ('http://' or 'https://')", + nodefined : " n'est pas défini!", + novalue : " la valeur de retour est requise!", + customarray : "Une fonction personnalisée devrait retourner un tableau (array)!", + customfcheck : "Une fonction personnalisée devrait être présente dans le cas d'une vérification personnalisée!" + } + }, + view : { + caption: "Voir les enregistrement", + bClose: "Fermer" + }, + del : { + caption: "Supprimer", + msg: "Supprimer les enregistrements sélectionnés ?", + bSubmit: "Supprimer", + bCancel: "Annuler" + }, + nav : { + edittext: " ", + edittitle: "Editer la ligne sélectionnée", + addtext:" ", + addtitle: "Ajouter une ligne", + deltext: " ", + deltitle: "Supprimer la ligne sélectionnée", + searchtext: " ", + searchtitle: "Chercher un enregistrement", + refreshtext: "", + refreshtitle: "Recharger le tableau", + alertcap: "Avertissement", + alerttext: "Veuillez sélectionner une ligne", + viewtext: "", + viewtitle: "Afficher la ligne sélectionnée", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Afficher/Masquer les colonnes", + bSubmit: "Valider", + bCancel: "Annuler" + }, + errors : { + errcap : "Erreur", + nourl : "Aucune adresse n'est paramétrée", + norecords: "Aucun enregistrement à traiter", + model : "Nombre de titres (colNames) <> Nombre de données (colModel)!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", + "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" + ], + monthNames: [ + "Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc", + "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j == 1 ? 'er' : 'e';}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-gl.js b/src/main/webapp/resources/demo2/i18n/grid.locale-gl.js new file mode 100644 index 0000000..b522be2 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-gl.js @@ -0,0 +1,166 @@ +/** + * jqGrid Galician Translation + * Translated by Jorge Barreiro + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["gl"] = { + defaults : { + recordtext: "Amosando {0} - {1} de {2}", + emptyrecords: "Sen rexistros que amosar", + loadtext: "Cargando...", + pgtext : "Páxina {0} de {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Búsqueda...", + Find: "Buscar", + Reset: "Limpar", + odata: [{ oper:'eq', text:"igual "},{ oper:'ne', text:"diferente a"},{ oper:'lt', text:"menor que"},{ oper:'le', text:"menor ou igual que"},{ oper:'gt', text:"maior que"},{ oper:'ge', text:"maior ou igual a"},{ oper:'bw', text:"empece por"},{ oper:'bn', text:"non empece por"},{ oper:'in', text:"está en"},{ oper:'ni', text:"non está en"},{ oper:'ew', text:"termina por"},{ oper:'en', text:"non termina por"},{ oper:'cn', text:"contén"},{ oper:'nc', text:"non contén"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "todo" }, { op: "OR", text: "calquera" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Engadir rexistro", + editCaption: "Modificar rexistro", + bSubmit: "Gardar", + bCancel: "Cancelar", + bClose: "Pechar", + saveData: "Modificáronse os datos, quere gardar os cambios?", + bYes : "Si", + bNo : "Non", + bExit : "Cancelar", + msg: { + required:"Campo obrigatorio", + number:"Introduza un número", + minValue:"O valor debe ser maior ou igual a ", + maxValue:"O valor debe ser menor ou igual a ", + email: "non é un enderezo de correo válido", + integer: "Introduza un valor enteiro", + date: "Introduza unha data correcta ", + url: "non é unha URL válida. Prefixo requerido ('http://' ou 'https://')", + nodefined : " non está definido.", + novalue : " o valor de retorno é obrigatorio.", + customarray : "A función persoalizada debe devolver un array.", + customfcheck : "A función persoalizada debe estar presente no caso de ter validación persoalizada." + } + }, + view : { + caption: "Consultar rexistro", + bClose: "Pechar" + }, + del : { + caption: "Eliminar", + msg: "Desexa eliminar os rexistros seleccionados?", + bSubmit: "Eliminar", + bCancel: "Cancelar" + }, + nav : { + edittext: " ", + edittitle: "Modificar a fila seleccionada", + addtext:" ", + addtitle: "Engadir unha nova fila", + deltext: " ", + deltitle: "Eliminar a fila seleccionada", + searchtext: " ", + searchtitle: "Buscar información", + refreshtext: "", + refreshtitle: "Recargar datos", + alertcap: "Aviso", + alerttext: "Seleccione unha fila", + viewtext: "", + viewtitle: "Ver fila seleccionada", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Mostrar/ocultar columnas", + bSubmit: "Enviar", + bCancel: "Cancelar" + }, + errors : { + errcap : "Erro", + nourl : "Non especificou unha URL", + norecords: "Non hai datos para procesar", + model : "As columnas de nomes son diferentes das columnas de modelo" + }, + formatter : { + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Do", "Lu", "Ma", "Me", "Xo", "Ve", "Sa", + "Domingo", "Luns", "Martes", "Mércoles", "Xoves", "Vernes", "Sábado" + ], + monthNames: [ + "Xan", "Feb", "Mar", "Abr", "Mai", "Xuñ", "Xul", "Ago", "Set", "Out", "Nov", "Dec", + "Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd-m-Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-he.js b/src/main/webapp/resources/demo2/i18n/grid.locale-he.js new file mode 100644 index 0000000..04b1833 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-he.js @@ -0,0 +1,167 @@ +/** + * jqGrid Hebrew Translation + * Shuki Shukrun shukrun.shuki@gmail.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["he"] = { + defaults : { + recordtext: "מציג {0} - {1} מתוך {2}", + emptyrecords: "אין רשומות להציג", + loadtext: "טוען...", + pgtext : "דף {0} מתוך {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "מחפש...", + Find: "חפש", + Reset: "התחל", + odata: [{ oper:'eq', text:"שווה"},{ oper:'ne', text:"לא שווה"},{ oper:'lt', text:"קטן"},{ oper:'le', text:"קטן או שווה"},{ oper:'gt', text:"גדול"},{ oper:'ge', text:"גדול או שווה"},{ oper:'bw', text:"מתחיל ב"},{ oper:'bn', text:"לא מתחיל ב"},{ oper:'in', text:"נמצא ב"},{ oper:'ni', text:"לא נמצא ב"},{ oper:'ew', text:"מסתיים ב"},{ oper:'en', text:"לא מסתיים ב"},{ oper:'cn', text:"מכיל"},{ oper:'nc', text:"לא מכיל"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "הכל" }, { op: "OR", text: "אחד מ" }], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "הוסף רשומה", + editCaption: "ערוך רשומה", + bSubmit: "שלח", + bCancel: "בטל", + bClose: "סגור", + saveData: "נתונים השתנו! לשמור?", + bYes : "כן", + bNo : "לא", + bExit : "בטל", + msg: { + required:"שדה חובה", + number:"אנא, הכנס מספר תקין", + minValue:"ערך צריך להיות גדול או שווה ל ", + maxValue:"ערך צריך להיות קטן או שווה ל ", + email: "היא לא כתובת איימל תקינה", + integer: "אנא, הכנס מספר שלם", + date: "אנא, הכנס תאריך תקין", + url: "הכתובת אינה תקינה. דרושה תחילית ('http://' או 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "הצג רשומה", + bClose: "סגור" + }, + del : { + caption: "מחק", + msg: "האם למחוק את הרשומה/ות המסומנות?", + bSubmit: "מחק", + bCancel: "בטל" + }, + nav : { + edittext: "", + edittitle: "ערוך שורה מסומנת", + addtext:"", + addtitle: "הוסף שורה חדשה", + deltext: "", + deltitle: "מחק שורה מסומנת", + searchtext: "", + searchtitle: "חפש רשומות", + refreshtext: "", + refreshtitle: "טען גריד מחדש", + alertcap: "אזהרה", + alerttext: "אנא, בחר שורה", + viewtext: "", + viewtitle: "הצג שורה מסומנת", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "הצג/הסתר עמודות", + bSubmit: "שלח", + bCancel: "בטל" + }, + errors : { + errcap : "שגיאה", + nourl : "לא הוגדרה כתובת url", + norecords: "אין רשומות לעבד", + model : "אורך של colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "א", "ב", "ג", "ד", "ה", "ו", "ש", + "ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת" + ], + monthNames: [ + "ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ", + "ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר" + ], + AmPm : ["לפני הצהרים","אחר הצהרים","לפני הצהרים","אחר הצהרים"], + S: function (j) {return j < 11 || j > 13 ? ['', '', '', ''][Math.min((j - 1) % 10, 3)] : ''}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-hr.js b/src/main/webapp/resources/demo2/i18n/grid.locale-hr.js new file mode 100644 index 0000000..9226cef --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-hr.js @@ -0,0 +1,202 @@ +/** + * jqGrid Croatian Translation + * Version 1.0.1 (developed for jQuery Grid 4.4) + * msajko@gmail.com + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["hr"] = { + defaults : { + recordtext: "Pregled {0} - {1} od {2}", + emptyrecords: "Nema zapisa", + loadtext: "Učitavam...", + pgtext : "Stranica {0} od {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Traži...", + Find: "Pretraživanje", + Reset: "Poništi", + odata: [{ oper:'eq', text:"jednak"},{ oper:'ne', text:"nije identičan"},{ oper:'lt', text:"manje"},{ oper:'le', text:"manje ili identično"},{ oper:'gt', text:"veće"},{ oper:'ge', text:"veće ili identično"},{ oper:'bw', text:"počinje sa"},{ oper:'bn', text:"ne počinje sa "},{ oper:'in', text:"je u"},{ oper:'ni', text:"nije u"},{ oper:'ew', text:"završava sa"},{ oper:'en', text:"ne završava sa"},{ oper:'cn', text:"sadrži"},{ oper:'nc', text:"ne sadrži"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "I", text: "sve" }, { op: "ILI", text: "bilo koji" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Dodaj zapis", + editCaption: "Promijeni zapis", + bSubmit: "Preuzmi", + bCancel: "Odustani", + bClose: "Zatvri", + saveData: "Podaci su promijenjeni! Preuzmi promijene?", + bYes : "Da", + bNo : "Ne", + bExit : "Odustani", + msg: { + required:"Polje je obavezno", + number:"Molim, unesite ispravan broj", + minValue:"Vrijednost mora biti veća ili identična ", + maxValue:"Vrijednost mora biti manja ili identična", + email: "neispravan e-mail", + integer: "Molim, unjeti ispravan cijeli broj (integer)", + date: "Molim, unjeti ispravan datum ", + url: "neispravan URL. Prefiks je obavezan ('http://' or 'https://')", + nodefined : " nije definiran!", + novalue : " zahtjevan podatak je obavezan!", + customarray : "Opcionalna funkcija trebala bi bili polje (array)!", + customfcheck : "Custom function should be present in case of custom checking!" + + } + }, + view : { + caption: "Otvori zapis", + bClose: "Zatvori" + }, + del : { + caption: "Obriši", + msg: "Obriši označen zapis ili više njih?", + bSubmit: "Obriši", + bCancel: "Odustani" + }, + nav : { + edittext: "", + edittitle: "Promijeni obilježeni red", + addtext: "", + addtitle: "Dodaj novi red", + deltext: "", + deltitle: "Obriši obilježeni red", + searchtext: "", + searchtitle: "Potraži zapise", + refreshtext: "", + refreshtitle: "Ponovo preuzmi podatke", + alertcap: "Upozorenje", + alerttext: "Molim, odaberi red", + viewtext: "", + viewtitle: "Pregled obilježenog reda", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Obilježi kolonu", + bSubmit: "Uredu", + bCancel: "Odustani" + }, + errors : { + errcap : "Greška", + nourl : "Nedostaje URL", + norecords: "Bez zapisa za obradu", + model : "colNames i colModel imaju različitu duljinu!" + }, + formatter : { + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", + "Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota" + ], + monthNames: [ + "Sij", "Velj", "Ožu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro", + "Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return ''}, + srcformat: 'Y-m-d', + newformat: 'd.m.Y.', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid + // and see http://docs.jquery.com/UI/Datepicker/formatDate + // and https://github.com/jquery/globalize#dates for alternative formats used frequently + ISO8601Long: "Y-m-d H:i:s", + ISO8601Short: "Y-m-d", + // short date: + // d - Day of the month, 2 digits with leading zeros + // m - Numeric representation of a month, with leading zeros + // Y - A full numeric representation of a year, 4 digits + ShortDate: "d.m.Y.", // in jQuery UI Datepicker: "dd.mm.yy." + // long date: + // l - A full textual representation of the day of the week + // j - Day of the month without leading zeros + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + LongDate: "l, j. F Y", // in jQuery UI Datepicker: "dddd, d. MMMM yyyy" + // long date with long time: + // l - A full textual representation of the day of the week + // j - Day of the month without leading zeros + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + FullDateTime: "l, j. F Y H:i:s", // in jQuery UI Datepicker: "dddd, d. MMMM yyyy HH:mm:ss" + // month day: + // d - Day of the month, 2 digits with leading zeros + // F - A full textual representation of a month + MonthDay: "d F", // in jQuery UI Datepicker: "dd MMMM" + // short time (without seconds) + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + ShortTime: "H:i", // in jQuery UI Datepicker: "HH:mm" + // long time (with seconds) + // H - 24-hour format of an hour with leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + LongTime: "H:i:s", // in jQuery UI Datepicker: "HH:mm:ss" + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + // month with year + // F - A full textual representation of a month + // Y - A full numeric representation of a year, 4 digits + YearMonth: "F Y" // in jQuery UI Datepicker: "MMMM yyyy" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-hu.js b/src/main/webapp/resources/demo2/i18n/grid.locale-hu.js new file mode 100644 index 0000000..f3c6941 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-hu.js @@ -0,0 +1,169 @@ +/** + * jqGrid Hungarian Translation + * Őrszigety Ádám udx6bs@freemail.hu + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ + +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["hu"] = { + defaults : { + recordtext: "Oldal {0} - {1} / {2}", + emptyrecords: "Nincs találat", + loadtext: "Betöltés...", + pgtext : "Oldal {0} / {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Keresés...", + Find: "Keres", + Reset: "Alapértelmezett", + odata: [{ oper:'eq', text:"egyenlő"},{ oper:'ne', text:"nem egyenlő"},{ oper:'lt', text:"kevesebb"},{ oper:'le', text:"kevesebb vagy egyenlő"},{ oper:'gt', text:"nagyobb"},{ oper:'ge', text:"nagyobb vagy egyenlő"},{ oper:'bw', text:"ezzel kezdődik"},{ oper:'bn', text:"nem ezzel kezdődik"},{ oper:'in', text:"tartalmaz"},{ oper:'ni', text:"nem tartalmaz"},{ oper:'ew', text:"végződik"},{ oper:'en', text:"nem végződik"},{ oper:'cn', text:"tartalmaz"},{ oper:'nc', text:"nem tartalmaz"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Új tétel", + editCaption: "Tétel szerkesztése", + bSubmit: "Mentés", + bCancel: "Mégse", + bClose: "Bezárás", + saveData: "A tétel megváltozott! Tétel mentése?", + bYes : "Igen", + bNo : "Nem", + bExit : "Mégse", + msg: { + required:"Kötelező mező", + number:"Kérjük, adjon meg egy helyes számot", + minValue:"Nagyobb vagy egyenlőnek kell lenni mint ", + maxValue:"Kisebb vagy egyenlőnek kell lennie mint", + email: "hibás emailcím", + integer: "Kérjük adjon meg egy helyes egész számot", + date: "Kérjük adjon meg egy helyes dátumot", + url: "nem helyes cím. Előtag kötelező ('http://' vagy 'https://')", + nodefined : " nem definiált!", + novalue : " visszatérési érték kötelező!!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + + } + }, + view : { + caption: "Tétel megtekintése", + bClose: "Bezárás" + }, + del : { + caption: "Törlés", + msg: "Kiválaztott tétel(ek) törlése?", + bSubmit: "Törlés", + bCancel: "Mégse" + }, + nav : { + edittext: "", + edittitle: "Tétel szerkesztése", + addtext:"", + addtitle: "Új tétel hozzáadása", + deltext: "", + deltitle: "Tétel törlése", + searchtext: "", + searchtitle: "Keresés", + refreshtext: "", + refreshtitle: "Frissítés", + alertcap: "Figyelmeztetés", + alerttext: "Kérem válasszon tételt.", + viewtext: "", + viewtitle: "Tétel megtekintése", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Oszlopok kiválasztása", + bSubmit: "Ok", + bCancel: "Mégse" + }, + errors : { + errcap : "Hiba", + nourl : "Nincs URL beállítva", + norecords: "Nincs feldolgozásra váró tétel", + model : "colNames és colModel hossza nem egyenlő!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Va", "Hé", "Ke", "Sze", "Csü", "Pé", "Szo", + "Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat" + ], + monthNames: [ + "Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Szep", "Okt", "Nov", "Dec", + "Január", "Február", "Március", "Áprili", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December" + ], + AmPm : ["de","du","DE","DU"], + S: function (j) {return '.-ik';}, + srcformat: 'Y-m-d', + newformat: 'Y/m/d', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "Y/j/n", + LongDate: "Y. F hó d., l", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "a g:i", + LongTime: "a g:i:s", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "Y, F" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-id.js b/src/main/webapp/resources/demo2/i18n/grid.locale-id.js new file mode 100644 index 0000000..a1f1876 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-id.js @@ -0,0 +1,208 @@ +/** + * jqGrid Indonesian Translation + * Tony Tomov tony@trirand.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["id"] = { + defaults : { + recordtext: "Data {0} - {1} dari {2}", + emptyrecords: "Tidak ada data", + loadtext: "Memuat...", + pgtext : "Halaman {0} dari {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Pencarian", + Find: "Cari !", + Reset: "Segarkan", + odata: [{ oper:'eq', text:"sama dengan"},{ oper:'ne', text:"tidak sama dengan"},{ oper:'lt', text:"kurang dari"},{ oper:'le', text:"kurang dari atau sama dengan"},{ oper:'gt', text:"lebih besar"},{ oper:'ge', text:"lebih besar atau sama dengan"},{ oper:'bw', text:"dimulai dengan"},{ oper:'bn', text:"tidak dimulai dengan"},{ oper:'in', text:"di dalam"},{ oper:'ni', text:"tidak di dalam"},{ oper:'ew', text:"diakhiri dengan"},{ oper:'en', text:"tidak diakhiri dengan"},{ oper:'cn', text:"mengandung"},{ oper:'nc', text:"tidak mengandung"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Tambah Data", + editCaption: "Sunting Data", + bSubmit: "Submit", + bCancel: "Tutup", + bClose: "Tutup", + saveData: "Data telah berubah! Simpan perubahan?", + bYes : "Ya", + bNo : "Tidak", + bExit : "Tutup", + msg: { + required:"kolom wajib diisi", + number:"hanya nomer yang diperbolehkan", + minValue:"kolom harus lebih besar dari atau sama dengan", + maxValue:"kolom harus lebih kecil atau sama dengan", + email: "alamat e-mail tidak valid", + integer: "hanya nilai integer yang diperbolehkan", + date: "nilai tanggal tidak valid", + url: "Bukan URL yang valid. Harap gunakan ('http://' or 'https://')", + nodefined : " belum didefinisikan!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + + } + }, + view : { + caption: "Menampilkan data", + bClose: "Tutup" + }, + del : { + caption: "Hapus", + msg: "Hapus data terpilih?", + bSubmit: "Hapus", + bCancel: "Batalkan" + }, + nav : { + edittext: "", + edittitle: "Sunting data terpilih", + addtext:"", + addtitle: "Tambah baris baru", + deltext: "", + deltitle: "Hapus baris terpilih", + searchtext: "", + searchtitle: "Temukan data", + refreshtext: "", + refreshtitle: "Segarkan Grid", + alertcap: "Warning", + alerttext: "Harap pilih baris", + viewtext: "", + viewtitle: "Tampilkan baris terpilih", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Pilih Kolom", + bSubmit: "Ok", + bCancel: "Batal" + }, + errors : { + errcap : "Error", + nourl : "Tidak ada url yang diset", + norecords: "Tidak ada data untuk diproses", + model : "Lebar dari colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "Rp. ", suffix:"", defaultValue: '0'}, + date : { + dayNames: [ + "Ming", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", + "Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des", + "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';}, + srcformat: 'Y-m-d', + newformat: 'n/j/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid + // and see http://docs.jquery.com/UI/Datepicker/formatDate + // and https://github.com/jquery/globalize#dates for alternative formats used frequently + // one can find on https://github.com/jquery/globalize/tree/master/lib/cultures many + // information about date, time, numbers and currency formats used in different countries + // one should just convert the information in PHP format + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + // short date: + // n - Numeric representation of a month, without leading zeros + // j - Day of the month without leading zeros + // Y - A full numeric representation of a year, 4 digits + // example: 3/1/2012 which means 1 March 2012 + ShortDate: "n/j/Y", // in jQuery UI Datepicker: "M/d/yyyy" + // long date: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + LongDate: "l, F d, Y", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy" + // long date with long time: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + FullDateTime: "l, F d, Y g:i:s A", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy h:mm:ss tt" + // month day: + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + MonthDay: "F d", // in jQuery UI Datepicker: "MMMM dd" + // short time (without seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + ShortTime: "g:i A", // in jQuery UI Datepicker: "h:mm tt" + // long time (with seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + LongTime: "g:i:s A", // in jQuery UI Datepicker: "h:mm:ss tt" + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + // month with year + // Y - A full numeric representation of a year, 4 digits + // F - A full textual representation of a month + YearMonth: "F, Y" // in jQuery UI Datepicker: "MMMM, yyyy" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-is.js b/src/main/webapp/resources/demo2/i18n/grid.locale-is.js new file mode 100644 index 0000000..b8b55f5 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-is.js @@ -0,0 +1,166 @@ +/** + * jqGrid Icelandic Translation + * jtm@hi.is Univercity of Iceland + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["is"] = { + defaults : { + recordtext: "Skoða {0} - {1} af {2}", + emptyrecords: "Engar færslur", + loadtext: "Hleður...", + pgtext : "Síða {0} af {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Leita...", + Find: "Leita", + Reset: "Endursetja", + odata: [{ oper:'eq', text:"sama og"},{ oper:'ne', text:"ekki sama og"},{ oper:'lt', text:"minna en"},{ oper:'le', text:"minna eða jafnt og"},{ oper:'gt', text:"stærra en"},{ oper:'ge', text:"stærra eða jafnt og"},{ oper:'bw', text:"byrjar á"},{ oper:'bn', text:"byrjar ekki á"},{ oper:'in', text:"er í"},{ oper:'ni', text:"er ekki í"},{ oper:'ew', text:"endar á"},{ oper:'en', text:"endar ekki á"},{ oper:'cn', text:"inniheldur"},{ oper:'nc', text:"inniheldur ekki"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "allt" }, { op: "OR", text: "eða" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Bæta við færslu", + editCaption: "Breyta færslu", + bSubmit: "Vista", + bCancel: "Hætta við", + bClose: "Loka", + saveData: "Gögn hafa breyst! Vista breytingar?", + bYes : "Já", + bNo : "Nei", + bExit : "Hætta við", + msg: { + required:"Reitur er nauðsynlegur", + number:"Vinsamlega settu inn tölu", + minValue:"gildi verður að vera meira en eða jafnt og ", + maxValue:"gildi verður að vera minna en eða jafnt og ", + email: "er ekki löglegt email", + integer: "Vinsamlega settu inn tölu", + date: "Vinsamlega setti inn dagsetningu", + url: "er ekki löglegt URL. Vantar ('http://' eða 'https://')", + nodefined : " er ekki skilgreint!", + novalue : " skilagildi nauðsynlegt!", + customarray : "Fall skal skila fylki!", + customfcheck : "Fall skal vera skilgreint!" + } + }, + view : { + caption: "Skoða færslu", + bClose: "Loka" + }, + del : { + caption: "Eyða", + msg: "Eyða völdum færslum ?", + bSubmit: "Eyða", + bCancel: "Hætta við" + }, + nav : { + edittext: " ", + edittitle: "Breyta færslu", + addtext:" ", + addtitle: "Ný færsla", + deltext: " ", + deltitle: "Eyða færslu", + searchtext: " ", + searchtitle: "Leita", + refreshtext: "", + refreshtitle: "Endurhlaða", + alertcap: "Viðvörun", + alerttext: "Vinsamlega veldu færslu", + viewtext: "", + viewtitle: "Skoða valda færslu", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Sýna / fela dálka", + bSubmit: "Vista", + bCancel: "Hætta við" + }, + errors : { + errcap : "Villa", + nourl : "Vantar slóð", + norecords: "Engar færslur valdar", + model : "Lengd colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", + "Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Oct", "Nóv", "Des", + "Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júný", "Júlý", "Ágúst", "September", "Október", "Nóvember", "Desember" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-it.js b/src/main/webapp/resources/demo2/i18n/grid.locale-it.js new file mode 100644 index 0000000..08733e0 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-it.js @@ -0,0 +1,47 @@ +// Italian Translation +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["it"] = { + defaults:{recordtext:"Visualizzati {0} - {1} di {2}",emptyrecords:"Nessun record da visualizzare",loadtext:"Caricamento...",pgtext:"Pagina {0} di {1}", savetext: "Saving...",pgfirst : "First Page",pglast : "Last Page",pgnext : "Next Page",pgprev : "Previous Page",pgrecs : "Records per Page", showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." +}, + search:{caption:"Ricerca...",Find:"Cerca",Reset:"Pulisci", odata: [{ oper:'eq', text:"uguale"},{ oper:'ne', text:"diverso"},{ oper:'lt', text:"minore"},{ oper:'le', text:"minore o uguale"},{ oper:'gt', text:"maggiore"},{ oper:'ge', text:"maggiore o uguale"},{ oper:'bw', text:"inizia con"},{ oper:'bn', text:"non inizia con"},{ oper:'in', text:"in"},{ oper:'ni', text:"non in"},{ oper:'ew', text:"termina con"},{ oper:'en', text:"non termina con"},{ oper:'cn', text:"contiene"},{ oper:'nc', text:"non contiene"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}],groupOps:[{op:"AND",text:"tutto"},{op:"OR",text:"almeno uno"}], operandTitle : "Click to select search operation.",resetTitle : "Reset Search Value"}, + edit:{addCaption:"Aggiungi Record",editCaption:"Modifica Record",bSubmit:"Invia",bCancel:"Chiudi",bClose:"Chiudi",saveData:"Alcuni dati modificati! Salvare i cambiamenti?",bYes:"Si",bNo:"No",bExit:"Esci",msg:{required:"Campo richiesto",number:"Per favore, inserisci un valore valido",minValue:"il valore deve essere maggiore o uguale a ",maxValue:"il valore deve essere minore o uguale a",email:"e-mail non corretta",integer:"Per favore, inserisci un numero intero valido",date:"Per favore, inserisci una data valida",url:"URL non valido. Prefisso richiesto ('http://' or 'https://')",nodefined:" non � definito!",novalue:" valore di ritorno richiesto!",customarray:"La function custon deve tornare un array!",customfcheck:"La function custom deve esistere per il custom checking!"}}, + view:{caption:"Visualizzazione Record",bClose:"Chiudi"}, + del:{caption:"Cancella",msg:"Cancellare record selezionato/i?",bSubmit:"Cancella",bCancel:"Annulla"}, + nav:{edittext:" ",edittitle:"Modifica record selezionato",addtext:" ",addtitle:"Aggiungi nuovo record",deltext:" ",deltitle:"Cancella record selezionato",searchtext:" ",searchtitle:"Ricerca record",refreshtext:"",refreshtitle:"Aggiorna griglia",alertcap:"Attenzione",alerttext:"Per favore, seleziona un record",viewtext:"",viewtitle:"Visualizza riga selezionata", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col:{caption:"Mostra/Nascondi Colonne",bSubmit:"Invia",bCancel:"Annulla"}, + errors:{errcap:"Errore",nourl:"Url non settata",norecords:"Nessun record da elaborare",model:"Lunghezza di colNames <> colModel!"}, + formatter:{integer:{thousandsSeparator:" ",defaultValue:"0"},number:{decimalSeparator:",",thousandsSeparator:" ",decimalPlaces:2,defaultValue:"0,00"},currency:{decimalSeparator:",",thousandsSeparator:" ",decimalPlaces:2,prefix:"",suffix:"",defaultValue:"0,00"},date:{dayNames:["Dom","Lun","Mar","Mer","Gio","Ven","Sab","Domenica","Luned�","Marted�","Mercoled�","Gioved�","Venerd�","Sabato"],monthNames:["Gen","Feb","Mar","Apr","Mag","Gui","Lug","Ago","Set","Ott","Nov","Dic","Genneio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Movembre","Dicembre"],AmPm:["am","pm","AM","PM"],S:function(b){return b<11||b>13?["st","nd","rd","th"][Math.min((b-1)%10,3)]:"th"},srcformat:"Y-m-d",newformat:"d/m/Y",parseRe : /[#%\\\/:_;.,\t\s-]/,masks:{ISO8601Long:"Y-m-d H:i:s",ISO8601Short:"Y-m-d",ShortDate:"n/j/Y",LongDate:"l, F d, Y",FullDateTime:"l, F d, Y g:i:s A",MonthDay:"F d",ShortTime:"g:i A",LongTime:"g:i:s A",SortableDateTime:"Y-m-d\\TH:i:s",UniversalSortableDateTime:"Y-m-d H:i:sO",YearMonth:"F, Y"},reformatAfterEdit:false,userLocalTime : false},baseLinkUrl:"",showAction:"",target:"",checkbox:{disabled:true},idName:"id"} +}; +;})); \ No newline at end of file diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-ja.js b/src/main/webapp/resources/demo2/i18n/grid.locale-ja.js new file mode 100644 index 0000000..d2b0866 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-ja.js @@ -0,0 +1,196 @@ +/** + * jqGrid Japanese Translation + * OKADA Yoshitada okada.dev@sth.jp + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["ja"] = { + defaults : { + recordtext: "{2} \u4EF6\u4E2D {0} - {1} \u3092\u8868\u793A ", + emptyrecords: "\u8868\u793A\u3059\u308B\u30EC\u30B3\u30FC\u30C9\u304C\u3042\u308A\u307E\u305B\u3093", + loadtext: "\u8aad\u307f\u8fbc\u307f\u4e2d...", + pgtext : "{1} \u30DA\u30FC\u30B8\u4E2D {0} \u30DA\u30FC\u30B8\u76EE ", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "\u691c\u7d22...", + Find: "\u691c\u7d22", + Reset: "\u30ea\u30bb\u30c3\u30c8", + odata: [{ oper:'eq', text:"\u6B21\u306B\u7B49\u3057\u3044"}, { oper:'ne', text:"\u6B21\u306B\u7B49\u3057\u304F\u306A\u3044"}, + { oper:'lt', text:"\u6B21\u3088\u308A\u5C0F\u3055\u3044"}, { oper:'le', text:"\u6B21\u306B\u7B49\u3057\u3044\u304B\u5C0F\u3055\u3044"}, + { oper:'gt', text:"\u6B21\u3088\u308A\u5927\u304D\u3044"}, { oper:'ge', text:"\u6B21\u306B\u7B49\u3057\u3044\u304B\u5927\u304D\u3044"}, + { oper:'bw', text:"\u6B21\u3067\u59CB\u307E\u308B"}, { oper:'bn', text:"\u6B21\u3067\u59CB\u307E\u3089\u306A\u3044"}, + { oper:'in', text:"\u6B21\u306B\u542B\u307E\u308C\u308B"}, { oper:'ni', text:"\u6B21\u306B\u542B\u307E\u308C\u306A\u3044"}, + { oper:'ew', text:"\u6B21\u3067\u7D42\u308F\u308B"}, { oper:'en', text:"\u6B21\u3067\u7D42\u308F\u3089\u306A\u3044"}, + { oper:'cn', text:"\u6B21\u3092\u542B\u3080"}, { oper:'nc', text:"\u6B21\u3092\u542B\u307E\u306A\u3044"}, + { oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [{ + op: "AND", + text: "\u3059\u3079\u3066\u306E" + }, + { + op: "OR", + text: "\u3044\u305A\u308C\u304B\u306E" + }], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "\u30ec\u30b3\u30fc\u30c9\u8ffd\u52a0", + editCaption: "\u30ec\u30b3\u30fc\u30c9\u7de8\u96c6", + bSubmit: "\u9001\u4fe1", + bCancel: "\u30ad\u30e3\u30f3\u30bb\u30eb", + bClose: "\u9589\u3058\u308b", + saveData: "\u30C7\u30FC\u30BF\u304C\u5909\u66F4\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u4FDD\u5B58\u3057\u307E\u3059\u304B\uFF1F", + bYes: "\u306F\u3044", + bNo: "\u3044\u3044\u3048", + bExit: "\u30AD\u30E3\u30F3\u30BB\u30EB", + msg: { + required:"\u3053\u306e\u9805\u76ee\u306f\u5fc5\u9808\u3067\u3059\u3002", + number:"\u6b63\u3057\u3044\u6570\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044\u3002", + minValue:"\u6b21\u306e\u5024\u4ee5\u4e0a\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044\u3002", + maxValue:"\u6b21\u306e\u5024\u4ee5\u4e0b\u3067\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044\u3002", + email: "e-mail\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002", + integer: "\u6b63\u3057\u3044\u6574\u6570\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044\u3002", + date: "\u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044\u3002", + url: "\u306F\u6709\u52B9\u306AURL\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\20\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u304C\u5FC5\u8981\u3067\u3059\u3002 ('http://' \u307E\u305F\u306F 'https://')", + nodefined: " \u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093", + novalue: " \u623B\u308A\u5024\u304C\u5FC5\u8981\u3067\u3059", + customarray: "\u30AB\u30B9\u30BF\u30E0\u95A2\u6570\u306F\u914D\u5217\u3092\u8FD4\u3059\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059", + customfcheck: "\u30AB\u30B9\u30BF\u30E0\u691C\u8A3C\u306B\u306F\u30AB\u30B9\u30BF\u30E0\u95A2\u6570\u304C\u5FC5\u8981\u3067\u3059" + } + }, + view : { + caption: "\u30EC\u30B3\u30FC\u30C9\u3092\u8868\u793A", + bClose: "\u9589\u3058\u308B" + }, + del : { + caption: "\u524a\u9664", + msg: "\u9078\u629e\u3057\u305f\u30ec\u30b3\u30fc\u30c9\u3092\u524a\u9664\u3057\u307e\u3059\u304b\uff1f", + bSubmit: "\u524a\u9664", + bCancel: "\u30ad\u30e3\u30f3\u30bb\u30eb" + }, + nav : { + edittext: " ", + edittitle: "\u9078\u629e\u3057\u305f\u884c\u3092\u7de8\u96c6", + addtext:" ", + addtitle: "\u884c\u3092\u65b0\u898f\u8ffd\u52a0", + deltext: " ", + deltitle: "\u9078\u629e\u3057\u305f\u884c\u3092\u524a\u9664", + searchtext: " ", + searchtitle: "\u30ec\u30b3\u30fc\u30c9\u691c\u7d22", + refreshtext: "", + refreshtitle: "\u30b0\u30ea\u30c3\u30c9\u3092\u30ea\u30ed\u30fc\u30c9", + alertcap: "\u8b66\u544a", + alerttext: "\u884c\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044\u3002", + viewtext: "", + viewtitle: "\u9078\u629E\u3057\u305F\u884C\u3092\u8868\u793A", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "\u5217\u3092\u8868\u793a\uff0f\u96a0\u3059", + bSubmit: "\u9001\u4fe1", + bCancel: "\u30ad\u30e3\u30f3\u30bb\u30eb" + }, + errors : { + errcap : "\u30a8\u30e9\u30fc", + nourl : "URL\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002", + norecords: "\u51e6\u7406\u5bfe\u8c61\u306e\u30ec\u30b3\u30fc\u30c9\u304c\u3042\u308a\u307e\u305b\u3093\u3002", + model : "colNames\u306e\u9577\u3055\u304ccolModel\u3068\u4e00\u81f4\u3057\u307e\u305b\u3093\u3002" + }, + formatter : { + integer: { + thousandsSeparator: ",", + defaultValue: '0' + }, + number: { + decimalSeparator: ".", + thousandsSeparator: ",", + decimalPlaces: 2, + defaultValue: '0.00' + }, + currency: { + decimalSeparator: ".", + thousandsSeparator: ",", + decimalPlaces: 0, + prefix: "", + suffix: "", + defaultValue: '0' + }, + date : { + dayNames: [ + "\u65e5", "\u6708", "\u706b", "\u6c34", "\u6728", "\u91d1", "\u571f", + "\u65e5", "\u6708", "\u706b", "\u6c34", "\u6728", "\u91d1", "\u571f" + ], + monthNames: [ + "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", + "1\u6708", "2\u6708", "3\u6708", "4\u6708", "5\u6708", "6\u6708", "7\u6708", "8\u6708", "9\u6708", "10\u6708", "11\u6708", "12\u6708" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) { return "\u756a\u76ee"; }, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-kr.js b/src/main/webapp/resources/demo2/i18n/grid.locale-kr.js new file mode 100644 index 0000000..f2866a5 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-kr.js @@ -0,0 +1,168 @@ +/** + * jqGrid English Translation + * Tony Tomov tony@trirand.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["kr"] = { + defaults : { + recordtext: "보기 {0} - {1} / {2}", + emptyrecords: "표시할 행이 없습니다", + loadtext: "조회중...", + pgtext : "페이지 {0} / {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "검색...", + Find: "찾기", + Reset: "초기화", + odata: [{ oper:'eq', text:"같다"},{ oper:'ne', text:"같지 않다"},{ oper:'lt', text:"작다"},{ oper:'le', text:"작거나 같다"},{ oper:'gt', text:"크다"},{ oper:'ge', text:"크거나 같다"},{ oper:'bw', text:"로 시작한다"},{ oper:'bn', text:"로 시작하지 않는다"},{ oper:'in', text:"내에 있다"},{ oper:'ni', text:"내에 있지 않다"},{ oper:'ew', text:"로 끝난다"},{ oper:'en', text:"로 끝나지 않는다"},{ oper:'cn', text:"내에 존재한다"},{ oper:'nc', text:"내에 존재하지 않는다"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "전부" }, { op: "OR", text: "임의" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "행 추가", + editCaption: "행 수정", + bSubmit: "전송", + bCancel: "취소", + bClose: "닫기", + saveData: "자료가 변경되었습니다! 저장하시겠습니까?", + bYes : "예", + bNo : "아니오", + bExit : "취소", + msg: { + required:"필수항목입니다", + number:"유효한 번호를 입력해 주세요", + minValue:"입력값은 크거나 같아야 합니다", + maxValue:"입력값은 작거나 같아야 합니다", + email: "유효하지 않은 이메일주소입니다", + integer: "유효한 숫자를 입력하세요", + date: "유효한 날짜를 입력하세요", + url: "은 유효하지 않은 URL입니다. 문장앞에 다음단어가 필요합니다('http://' or 'https://')", + nodefined : " 은 정의도지 않았습니다!", + novalue : " 반환값이 필요합니다!", + customarray : "사용자정의 함수는 배열을 반환해야 합니다!", + customfcheck : "Custom function should be present in case of custom checking!" + + } + }, + view : { + caption: "행 조회", + bClose: "닫기" + }, + del : { + caption: "삭제", + msg: "선택된 행을 삭제하시겠습니까?", + bSubmit: "삭제", + bCancel: "취소" + }, + nav : { + edittext: "", + edittitle: "선택된 행 편집", + addtext:"", + addtitle: "행 삽입", + deltext: "", + deltitle: "선택된 행 삭제", + searchtext: "", + searchtitle: "행 찾기", + refreshtext: "", + refreshtitle: "그리드 갱신", + alertcap: "경고", + alerttext: "행을 선택하세요", + viewtext: "", + viewtitle: "선택된 행 조회", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "열을 선택하세요", + bSubmit: "확인", + bCancel: "취소" + }, + errors : { + errcap : "오류", + nourl : "설정된 url이 없습니다", + norecords: "처리할 행이 없습니다", + model : "colNames의 길이가 colModel과 일치하지 않습니다!" + }, + formatter : { + integer : {thousandsSeparator: ",", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat", + "일", "월", "화", "수", "목", "금", "토" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", + "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'm-d-Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "Y/j/n", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-lt.js b/src/main/webapp/resources/demo2/i18n/grid.locale-lt.js new file mode 100644 index 0000000..55f3260 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-lt.js @@ -0,0 +1,168 @@ +/** + * jqGrid Lithuanian Translation + * aur1mas aur1mas@devnet.lt + * http://aur1mas.devnet.lt + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["lt"] = { + defaults : { + recordtext: "Peržiūrima {0} - {1} iš {2}", + emptyrecords: "Įrašų nėra", + loadtext: "Kraunama...", + pgtext : "Puslapis {0} iš {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Paieška...", + Find: "Ieškoti", + Reset: "Atstatyti", + odata: [{ oper:'eq', text:"lygu"},{ oper:'ne', text:"nelygu"},{ oper:'lt', text:"mažiau"},{ oper:'le', text:"mažiau arba lygu"},{ oper:'gt', text:"daugiau"},{ oper:'ge', text:"daugiau arba lygu"},{ oper:'bw', text:"prasideda"},{ oper:'bn', text:"neprasideda"},{ oper:'in', text:"reikšmė yra"},{ oper:'ni', text:"reikšmės nėra"},{ oper:'ew', text:"baigiasi"},{ oper:'en', text:"nesibaigia"},{ oper:'cn', text:"yra sudarytas"},{ oper:'nc', text:"nėra sudarytas"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "visi" }, { op: "OR", text: "bet kuris" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Sukurti įrašą", + editCaption: "Redaguoti įrašą", + bSubmit: "Išsaugoti", + bCancel: "Atšaukti", + bClose: "Uždaryti", + saveData: "Duomenys buvo pakeisti! Išsaugoti pakeitimus?", + bYes : "Taip", + bNo : "Ne", + bExit : "Atšaukti", + msg: { + required:"Privalomas laukas", + number:"Įveskite tinkamą numerį", + minValue:"reikšmė turi būti didesnė arba lygi ", + maxValue:"reikšmė turi būti mažesnė arba lygi", + email: "neteisingas el. pašto adresas", + integer: "Įveskite teisingą sveikąjį skaičių", + date: "Įveskite teisingą datą", + url: "blogas adresas. Nepamirškite pridėti ('http://' arba 'https://')", + nodefined : " nėra apibrėžta!", + novalue : " turi būti gražinama kokia nors reikšmė!", + customarray : "Custom f-ja turi grąžinti masyvą!", + customfcheck : "Custom f-ja tūrėtų būti sukurta, prieš bandant ją naudoti!" + + } + }, + view : { + caption: "Peržiūrėti įrašus", + bClose: "Uždaryti" + }, + del : { + caption: "Ištrinti", + msg: "Ištrinti pažymėtus įrašus(-ą)?", + bSubmit: "Ištrinti", + bCancel: "Atšaukti" + }, + nav : { + edittext: "", + edittitle: "Redaguoti pažymėtą eilutę", + addtext:"", + addtitle: "Pridėti naują eilutę", + deltext: "", + deltitle: "Ištrinti pažymėtą eilutę", + searchtext: "", + searchtitle: "Rasti įrašus", + refreshtext: "", + refreshtitle: "Perkrauti lentelę", + alertcap: "Įspėjimas", + alerttext: "Pasirinkite eilutę", + viewtext: "", + viewtitle: "Peržiūrėti pasirinktą eilutę", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Pasirinkti stulpelius", + bSubmit: "Gerai", + bCancel: "Atšaukti" + }, + errors : { + errcap : "Klaida", + nourl : "Url reikšmė turi būti perduota", + norecords: "Nėra įrašų, kuriuos būtų galima apdoroti", + model : "colNames skaičius <> colModel skaičiui!" + }, + formatter : { + integer : {thousandsSeparator: "", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: "", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:",", thousandsSeparator: "", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Sek", "Pir", "Ant", "Tre", "Ket", "Pen", "Šeš", + "Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis" + ], + monthNames: [ + "Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugj", "Rugs", "Spa", "Lap", "Gru", + "Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-me.js b/src/main/webapp/resources/demo2/i18n/grid.locale-me.js new file mode 100644 index 0000000..1c38715 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-me.js @@ -0,0 +1,168 @@ +/** + * jqGrid Montenegrian Translation + * Bild Studio info@bild-studio.net + * http://www.bild-studio.com + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["me"] = { + defaults : { + recordtext: "Pregled {0} - {1} od {2}", + emptyrecords: "Ne postoji nijedan zapis", + loadtext: "Učitivanje...", + pgtext : "Strana {0} od {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Traženje...", + Find: "Traži", + Reset: "Resetuj", + odata: [{ oper:'eq', text:"jednako"},{ oper:'ne', text:"nije jednako"},{ oper:'lt', text:"manje"},{ oper:'le', text:"manje ili jednako"},{ oper:'gt', text:"veće"},{ oper:'ge', text:"veće ili jednako"},{ oper:'bw', text:"počinje sa"},{ oper:'bn', text:"ne počinje sa"},{ oper:'in', text:"je u"},{ oper:'ni', text:"nije u"},{ oper:'ew', text:"završava sa"},{ oper:'en', text:"ne završava sa"},{ oper:'cn', text:"sadrži"},{ oper:'nc', text:"ne sadrži"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "sva" }, { op: "OR", text: "bilo koje" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Dodaj zapis", + editCaption: "Izmjeni zapis", + bSubmit: "Pošalji", + bCancel: "Odustani", + bClose: "Zatvori", + saveData: "Podatak je izmjenjen! Sačuvaj izmjene?", + bYes : "Da", + bNo : "Ne", + bExit : "Odustani", + msg: { + required:"Polje je obavezno", + number:"Unesite ispravan broj", + minValue:"vrijednost mora biti veća od ili jednaka sa ", + maxValue:"vrijednost mora biti manja ili jednaka sa", + email: "nije ispravna email adresa, nije valjda da ne umiješ ukucati mail!?", + integer: "Ne zajebaji se unesi cjelobrojnu vrijednost ", + date: "Unesite ispravan datum", + url: "nije ispravan URL. Potreban je prefiks ('http://' or 'https://')", + nodefined : " nije definisan!", + novalue : " zahtjevana je povratna vrijednost!", + customarray : "Prilagođena funkcija treba da vrati niz!", + customfcheck : "Prilagođena funkcija treba da bude prisutana u slučaju prilagođene provjere!" + + } + }, + view : { + caption: "Pogledaj zapis", + bClose: "Zatvori" + }, + del : { + caption: "Izbrisi", + msg: "Izbrisi izabran(e) zapise(e)?", + bSubmit: "Izbriši", + bCancel: "Odbaci" + }, + nav : { + edittext: "", + edittitle: "Izmjeni izabrani red", + addtext:"", + addtitle: "Dodaj novi red", + deltext: "", + deltitle: "Izbriši izabran red", + searchtext: "", + searchtitle: "Nađi zapise", + refreshtext: "", + refreshtitle: "Ponovo učitaj podatke", + alertcap: "Upozorenje", + alerttext: "Izaberite red", + viewtext: "", + viewtitle: "Pogledaj izabrani red", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Izaberi kolone", + bSubmit: "OK", + bCancel: "Odbaci" + }, + errors : { + errcap : "Greška", + nourl : "Nije postavljen URL", + norecords: "Nema zapisa za obradu", + model : "Dužina modela colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", + "Nedelja", "Ponedeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec", + "Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-nl.js b/src/main/webapp/resources/demo2/i18n/grid.locale-nl.js new file mode 100644 index 0000000..4795ef2 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-nl.js @@ -0,0 +1,189 @@ +//NETHERLANDS +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["nl"] = { + defaults: + { + recordtext: "regels {0} - {1} van {2}", + emptyrecords: "Geen data gevonden.", + loadtext: "Laden...", + pgtext: "pagina {0} van {1}", + savetext: "Saving...", + pgfirst : "Eerste Pagina", + pglast : "Laatste Pagina", + pgnext : "Volgende Pagina", + pgprev : "Vorige Pagina", + pgrecs : "Records per Pagina", + showhide: "Schakelen Uitklappen Inklappen Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search: + { + caption: "Zoeken...", + Find: "Zoek", + Reset: "Herstellen", + odata: [{ oper:'eq', text:"gelijk aan"},{ oper:'ne', text:"niet gelijk aan"},{ oper:'lt', text:"kleiner dan"},{ oper:'le', text:"kleiner dan of gelijk aan"},{ oper:'gt', text:"groter dan"},{ oper:'ge', text:"groter dan of gelijk aan"},{ oper:'bw', text:"begint met"},{ oper:'bn', text:"begint niet met"},{ oper:'in', text:"is in"},{ oper:'ni', text:"is niet in"},{ oper:'ew', text:"eindigt met"},{ oper:'en', text:"eindigt niet met"},{ oper:'cn', text:"bevat"},{ oper:'nc', text:"bevat niet"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [{ op: "AND", text: "alle" }, { op: "OR", text: "een van de"}], + operandTitle : "Klik om de zoekterm te selecteren.", + resetTitle : "Herstel zoekterm" + }, + edit: + { + addCaption: "Nieuw", + editCaption: "Bewerken", + bSubmit: "Opslaan", + bCancel: "Annuleren", + bClose: "Sluiten", + saveData: "Er is data aangepast! Wijzigingen opslaan?", + bYes: "Ja", + bNo: "Nee", + bExit: "Sluiten", + msg: + { + required: "Veld is verplicht", + number: "Voer a.u.b. geldig nummer in", + minValue: "Waarde moet groter of gelijk zijn aan ", + maxValue: "Waarde moet kleiner of gelijk zijn aan", + email: "is geen geldig e-mailadres", + integer: "Voer a.u.b. een geldig getal in", + date: "Voer a.u.b. een geldige waarde in", + url: "is geen geldige URL. Prefix is verplicht ('http://' or 'https://')", + nodefined : " is niet gedefineerd!", + novalue : " return waarde is verplicht!", + customarray : "Aangepaste functie moet array teruggeven!", + customfcheck : "Aangepaste function moet aanwezig zijn in het geval van aangepaste controle!" + } + }, + view: + { + caption: "Tonen", + bClose: "Sluiten" + }, + del: + { + caption: "Verwijderen", + msg: "Verwijder geselecteerde regel(s)?", + bSubmit: "Verwijderen", + bCancel: "Annuleren" + }, + nav: + { + edittext: "", + edittitle: "Bewerken", + addtext: "", + addtitle: "Nieuw", + deltext: "", + deltitle: "Verwijderen", + searchtext: "", + searchtitle: "Zoeken", + refreshtext: "", + refreshtitle: "Vernieuwen", + alertcap: "Waarschuwing", + alerttext: "Selecteer a.u.b. een regel", + viewtext: "", + viewtitle: "Openen", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col: + { + caption: "Tonen/verbergen kolommen", + bSubmit: "OK", + bCancel: "Annuleren" + }, + errors: + { + errcap: "Fout", + nourl: "Er is geen URL gedefinieerd", + norecords: "Geen data om te verwerken", + model: "Lengte van 'colNames' is niet gelijk aan 'colModel'!" + }, + formatter: + { + integer: + { + thousandsSeparator: ".", + defaultValue: "0" + }, + number: + { + decimalSeparator: ",", + thousandsSeparator: ".", + decimalPlaces: 2, + defaultValue: "0.00" + }, + currency: + { + decimalSeparator: ",", + thousandsSeparator: ".", + decimalPlaces: 2, + prefix: "EUR ", + suffix: "", + defaultValue: "0.00" + }, + date: + { + dayNames: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag"], + monthNames: ["Jan", "Feb", "Maa", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "October", "November", "December"], + AmPm: ["am", "pm", "AM", "PM"], + S: function(b) { + return b < 11 || b > 13 ? ["st", "nd", "rd", "th"][Math.min((b - 1) % 10, 3)] : "th" + }, + srcformat: "Y-m-d", + newformat: "d/m/Y", + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks: + { + ISO8601Long: "Y-m-d H:i:s", + ISO8601Short: "Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l d F Y G:i:s", + MonthDay: "d F", + ShortTime: "G:i", + LongTime: "G:i:s", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit: false, + userLocalTime : false + }, + baseLinkUrl: "", + showAction: "", + target: "", + checkbox: + { + disabled: true + }, + idName: "id" + } + }; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-no.js b/src/main/webapp/resources/demo2/i18n/grid.locale-no.js new file mode 100644 index 0000000..0d8a3e7 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-no.js @@ -0,0 +1,75 @@ +//NORWAY +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["no"] = { + defaults : { + recordtext: "Rad {0} - {1}, totalt {2}", + loadtext: "Laster...", + pgtext: "Side {0} av {1}", + savetext: "Saving...", + pgfirst: "First Page", + pglast: "Last Page", + pgnext: "Next Page", + pgprev: "Previous Page", + pgrecs: "Records per Page", + showhide: "Toggle Expand Collapse Grid", + emptyrecords: "Ingen poster funnet", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + + }, + search : + {caption: "Søk...", Find: "Finn", Reset: "Nullstill", odata: [ + {oper: 'eq', text: "lik"}, + {oper: 'ne', text: "forskjellig fra"}, + {oper: 'lt', text: "mindre enn"}, + {oper: 'le', text: "mindre eller lik"}, + {oper: 'gt', text: "større enn"}, + {oper: 'ge', text: " større eller lik"}, + {oper: 'bw', text: "starter med"}, + {oper: 'ew', text: "slutter med"}, + {oper: 'cn', text: "inneholder"}, + { oper: 'nu', text: 'is null'}, + { oper: 'nn', text: 'is not null'} + ], operandTitle: "Click to select search operation.", resetTitle: "Reset Search Value" + }, + edit : {addCaption: "Ny rad", editCaption: "Rediger", bSubmit: "Send", bCancel: "Avbryt", bClose: "Lukk", processData: "Laster...", msg: {required: "Felt er obligatorisk", number: "Legg inn et gyldig tall", minValue: "verdi mø vøre større enn eller lik", maxValue: "verdi må være mindre enn eller lik", email: "er ikke en gyldig e-post adresse", integer: "Legg inn et gyldig heltall", date: "Legg inn en gyldig dato", url: "er ikke en gyldig URL. Prefiks påkrevd ('http://' eller 'https://')", nodefined: " er ikke definert!", novalue: " returverdi er påkrevd!", customarray: "Tilpasset funksjon må returnere en tabell!", customfcheck: "Tilpasset funksjon må eksistere!"}}, + view : {caption: "Åpne post", bClose: "Lukk"}, + del : {caption: "Slett", msg: "Slett valgte rad(er)?", bSubmit: "Slett", bCancel: "Avbryt", processData: "Behandler..."}, + nav : {edittext: " ", edittitle: "Rediger valgte rad(er)", addtext: " ", addtitle: "Legg til ny rad", deltext: " ", deltitle: "Slett valgte rad(er)", searchtext: " ", searchtitle: "Søk", refreshtext: "", refreshtitle: "Oppdater tabell", alertcap: "Advarsel", alerttext: "Velg rad", viewtext: " ", viewtitle: "Åpne valgt rad", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : {caption: "Vis/skjul kolonner", bSubmit: "Utfør", bCancel: "Avbryt"}, + errors : {errcap: "Feil", nourl: "Ingen url er satt", norecords: "Ingen poster å behandle", model: "colNames og colModel har forskjellig lengde!"}, + formatter : {integer: {thousandsSeparator: " ", defaultValue: 0}, number: {decimalSeparator: ",", thousandsSeparator: " ", decimalPlaces: 2, defaulValue: 0}, currency: {decimalSeparator: ",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix: "", defaulValue: 0}, date: {dayNames: ["sø.", "ma.", "ti.", "on.", "to.", "fr.", "lø.", "Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], monthNames: ["jan.", "feb.", "mars", "april", "mai", "juni", "juli", "aug.", "sep.", "okt.", "nov.", "des.", "januar", "februar", "mars", "april", "mai", "juni", "juli", "august", "september", "oktober", "november", "desember"], AmPm: ["", "", "", ""], S: function (b) { + return"."; + }, srcformat: "Y-m-d H:i:s", newformat: "Y-m-d H:i:s", parseRe: /[#%\\\/:_;.,\t\s-]/, masks: {ISO8601Long: "Y-m-d H:i:s", ISO8601Short: "Y-m-d", ShortDate: "j.n.Y", LongDate: "l j. F Y", FullDateTime: "l j. F Y kl. G.i.s", MonthDay: "j. F", ShortTime: "H:i", LongTime: "H:i:s", SortableDateTime: "Y-m-d\\TH:i:s", UniversalSortableDateTime: "Y-m-d H:i:sO", YearMonth: "F Y"}, reformatAfterEdit: false, userLocalTime: false}, baseLinkUrl: "", showAction: "show", addParam: "", checkbox: {disabled: true}} +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-pl.js b/src/main/webapp/resources/demo2/i18n/grid.locale-pl.js new file mode 100644 index 0000000..cc6d120 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-pl.js @@ -0,0 +1,172 @@ +/** + * jqGrid Polish Translation + * Łukasz Schab lukasz@freetree.pl + * http://FreeTree.pl + * + * Updated names, abbreviations, currency and date/time formats for Polish norms (also corresponding with CLDR v21.0.1 --> http://cldr.unicode.org/index) + * Tomasz Pęczek tpeczek@gmail.com + * http://tpeczek.blogspot.com; http://tpeczek.codeplex.com + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["pl"] = { + defaults : { + recordtext: "Pokaż {0} - {1} z {2}", + emptyrecords: "Brak rekordów do pokazania", + loadtext: "Ładowanie...", + pgtext : "Strona {0} z {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Wyszukiwanie...", + Find: "Szukaj", + Reset: "Czyść", + odata: [{ oper:'eq', text:"dokładnie"},{ oper:'ne', text:"różne od"},{ oper:'lt', text:"mniejsze od"},{ oper:'le', text:"mniejsze lub równe"},{ oper:'gt', text:"większe od"},{ oper:'ge', text:"większe lub równe"},{ oper:'bw', text:"zaczyna się od"},{ oper:'bn', text:"nie zaczyna się od"},{ oper:'in', text:"jest w"},{ oper:'ni', text:"nie jest w"},{ oper:'ew', text:"kończy się na"},{ oper:'en', text:"nie kończy się na"},{ oper:'cn', text:"zawiera"},{ oper:'nc', text:"nie zawiera"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "oraz" }, { op: "OR", text: "lub" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Dodaj rekord", + editCaption: "Edytuj rekord", + bSubmit: "Zapisz", + bCancel: "Anuluj", + bClose: "Zamknij", + saveData: "Dane zostały zmienione! Zapisać zmiany?", + bYes: "Tak", + bNo: "Nie", + bExit: "Anuluj", + msg: { + required: "Pole jest wymagane", + number: "Proszę wpisać poprawną liczbę", + minValue: "wartość musi być większa lub równa od", + maxValue: "wartość musi być mniejsza lub równa od", + email: "nie jest poprawnym adresem e-mail", + integer: "Proszę wpisać poprawną liczbę", + date: "Proszę podaj poprawną datę", + url: "jest niewłaściwym adresem URL. Pamiętaj o prefiksie ('http://' lub 'https://')", + nodefined: " niezdefiniowane!", + novalue: " wymagana jest wartość zwracana!", + customarray: "Funkcja niestandardowa powinna zwracać tablicę!", + customfcheck: "Funkcja niestandardowa powinna być obecna w przypadku niestandardowego sprawdzania!" + } + }, + view : { + caption: "Pokaż rekord", + bClose: "Zamknij" + }, + del : { + caption: "Usuń", + msg: "Czy usunąć wybrany rekord(y)?", + bSubmit: "Usuń", + bCancel: "Anuluj" + }, + nav : { + edittext: "", + edittitle: "Edytuj wybrany wiersz", + addtext: "", + addtitle: "Dodaj nowy wiersz", + deltext: "", + deltitle: "Usuń wybrany wiersz", + searchtext: "", + searchtitle: "Wyszukaj rekord", + refreshtext: "", + refreshtitle: "Przeładuj", + alertcap: "Uwaga", + alerttext: "Proszę wybrać wiersz", + viewtext: "", + viewtitle: "Pokaż wybrany wiersz", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Pokaż/Ukryj kolumny", + bSubmit: "Zatwierdź", + bCancel: "Anuluj" + }, + errors : { + errcap: "Błąd", + nourl: "Brak adresu url", + norecords: "Brak danych", + model : "Długość colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:" zł", defaultValue: '0,00'}, + date : { + dayNames: [ + "niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob.", + "niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota" + ], + monthNames: [ + "sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "paź", "lis", "gru", + "styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień" + ], + AmPm : ["","","",""], + S: function (j) {return '';}, + srcformat: 'Y-m-d', + newformat: 'd.m.Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long: "Y-m-d H:i:s", + ISO8601Short: "Y-m-d", + ShortDate: "d.m.y", + LongDate: "l, j F Y", + FullDateTime: "l, j F Y H:i:s", + MonthDay: "j F", + ShortTime: "H:i", + LongTime: "H:i:s", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); \ No newline at end of file diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-pt-br.js b/src/main/webapp/resources/demo2/i18n/grid.locale-pt-br.js new file mode 100644 index 0000000..ee1bcfb --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-pt-br.js @@ -0,0 +1,176 @@ +/** + * jqGrid Brazilian-Portuguese Translation + * Sergio Righi sergio.righi@gmail.com + * http://curve.com.br + * + * Updated by Jonnas Fonini + * http://fonini.net + * + * + * Updated by Fabio Ferreira da Silva fabio_ferreiradasilva@yahoo.com.br + * + * Updated by Anderson Pimentel anderson.pimentel[at]gmail.com + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["pt-br"] = { + defaults : { + recordtext: "Ver {0} - {1} de {2}", + emptyrecords: "Nenhum registro para visualizar", + loadtext: "Carregando...", + pgtext : "Página {0} de {1}", + savetext: "Salvando...", + pgfirst : "Primeira Página", + pglast : "Última Página", + pgnext : "Próxima Página", + pgprev : "Página Anterior", + pgrecs : "Registros por Página", + showhide: "Mostrar/Ocultar Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Procurar...", + Find: "Procurar", + Reset: "Limpar", + odata: [{ oper:'eq', text:"igual"},{ oper:'ne', text:"diferente"},{ oper:'lt', text:"menor"},{ oper:'le', text:"menor ou igual"},{ oper:'gt', text:"maior"},{ oper:'ge', text:"maior ou igual"},{ oper:'bw', text:"inicia com"},{ oper:'bn', text:"não inicia com"},{ oper:'in', text:"está em"},{ oper:'ni', text:"não está em"},{ oper:'ew', text:"termina com"},{ oper:'en', text:"não termina com"},{ oper:'cn', text:"contém"},{ oper:'nc', text:"não contém"},{ oper:'nu', text:"nulo"},{ oper:'nn', text:"não nulo"}], + groupOps: [ { op: "AND", text: "todos" },{ op: "OR", text: "qualquer um" } ], + operandTitle : "Clique para escolher a operação de pesquisa.", + resetTitle : "Limpar valor de pesquisa" + }, + edit : { + addCaption: "Incluir", + editCaption: "Alterar", + bSubmit: "Enviar", + bCancel: "Cancelar", + bClose: "Fechar", + saveData: "Os dados foram alterados! Salvar alterações?", + bYes : "Sim", + bNo : "Não", + bExit : "Cancelar", + msg: { + required:"Campo obrigatório", + number:"Por favor, informe um número válido", + minValue:"valor deve ser igual ou maior que ", + maxValue:"valor deve ser menor ou igual a", + email: "este e-mail não é válido", + integer: "Por favor, informe um valor inteiro", + date: "Por favor, informe uma data válida", + url: "não é uma URL válida. Prefixo obrigatório ('http://' or 'https://')", + nodefined : " não está definido!", + novalue : " um valor de retorno é obrigatório!", + customarray : "Função customizada deve retornar um array!", + customfcheck : "Função customizada deve estar presente em caso de validação customizada!" + } + }, + view : { + caption: "Ver Registro", + bClose: "Fechar" + }, + del : { + caption: "Apagar", + msg: "Apagar registro(s) selecionado(s)?", + bSubmit: "Apagar", + bCancel: "Cancelar" + }, + nav : { + edittext: " ", + edittitle: "Alterar registro selecionado", + addtext:" ", + addtitle: "Incluir novo registro", + deltext: " ", + deltitle: "Apagar registro selecionado", + searchtext: " ", + searchtitle: "Procurar registros", + refreshtext: "", + refreshtitle: "Recarregar tabela", + alertcap: "Aviso", + alerttext: "Por favor, selecione um registro", + viewtext: "", + viewtitle: "Ver linha selecionada", + savetext: "", + savetitle: "Salvar linha", + canceltext: "", + canceltitle : "Cancelar edição da linha", + selectcaption : "Actions..." + }, + col : { + caption: "Mostrar/Esconder Colunas", + bSubmit: "Enviar", + bCancel: "Cancelar" + }, + errors : { + errcap : "Erro", + nourl : "Nenhuma URL definida", + norecords: "Sem registros para exibir", + model : "Comprimento de colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "R$ ", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", + "Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado" + ], + monthNames: [ + "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez", + "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['º', 'º', 'º', 'º'][Math.min((j - 1) % 10, 3)] : 'º'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-pt.js b/src/main/webapp/resources/demo2/i18n/grid.locale-pt.js new file mode 100644 index 0000000..d9055e4 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-pt.js @@ -0,0 +1,165 @@ +/** + * jqGrid Portuguese Translation +* Tradu��o da jqGrid em Portugues por Frederico Carvalho, http://www.eyeviewdesign.pt + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["pt"] = { + defaults : { + recordtext: "View {0} - {1} of {2}", + emptyrecords: "No records to view", + loadtext: "A carregar...", + pgtext : "Página {0} de {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Busca...", + Find: "Procurar", + Reset: "Limpar", + odata: [{ oper:'eq', text:'equal'},{ oper:'ne', text:'not equal'},{ oper:'lt', text:'less'},{ oper:'le', text:'less or equal'},{ oper:'gt', text:'greater'},{ oper:'ge', text:'greater or equal'},{ oper:'bw', text:'begins with'},{ oper:'bn', text:'does not begin with'},{ oper:'in', text:'is in'},{ oper:'ni', text:'is not in'},{ oper:'ew', text:'ends with'},{ oper:'en', text:'does not end with'},{ oper:'cn', text:'contains'},{ oper:'nc', text:'does not contain'},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Adicionar Registo", + editCaption: "Modificar Registo", + bSubmit: "Submeter", + bCancel: "Cancelar", + bClose: "Fechar", + saveData: "Data has been changed! Save changes?", + bYes : "Yes", + bNo : "No", + bExit : "Cancel", + msg: { + required:"Campo obrigat�rio", + number:"Por favor, introduza um numero", + minValue:"O valor deve ser maior ou igual que", + maxValue:"O valor deve ser menor ou igual a", + email: "N�o � um endere�o de email v�lido", + integer: "Por favor, introduza um numero inteiro", + url: "is not a valid URL. Prefix required ('http://' or 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "View Record", + bClose: "Close" + }, + del : { + caption: "Eliminar", + msg: "Deseja eliminar o(s) registo(s) seleccionado(s)?", + bSubmit: "Eliminar", + bCancel: "Cancelar" + }, + nav : { + edittext: " ", + edittitle: "Modificar registo seleccionado", + addtext:" ", + addtitle: "Adicionar novo registo", + deltext: " ", + deltitle: "Eliminar registo seleccionado", + searchtext: " ", + searchtitle: "Procurar", + refreshtext: "", + refreshtitle: "Actualizar", + alertcap: "Aviso", + alerttext: "Por favor, seleccione um registo", + viewtext: "", + viewtitle: "View selected row", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Mostrar/Ocultar Colunas", + bSubmit: "Enviar", + bCancel: "Cancelar" + }, + errors : { + errcap : "Erro", + nourl : "N�o especificou um url", + norecords: "N�o existem dados para processar", + model : "Tamanho do colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab", + "Domingo", "Segunda-Feira", "Ter�a-Feira", "Quarta-Feira", "Quinta-Feira", "Sexta-Feira", "S�bado" + ], + monthNames: [ + "Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez", + "Janeiro", "Fevereiro", "Mar�o", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['�', '�', '�', '�'][Math.min((j - 1) % 10, 3)] : '�'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-ro.js b/src/main/webapp/resources/demo2/i18n/grid.locale-ro.js new file mode 100644 index 0000000..fa0449d --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-ro.js @@ -0,0 +1,179 @@ +/** + * jqGrid Romanian Translation + * Alexandru Emil Lupu contact@alecslupu.ro + * http://www.alecslupu.ro/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["ro"] = { + defaults : { + recordtext: "Vizualizare {0} - {1} din {2}", + emptyrecords: "Nu există înregistrări de vizualizat", + loadtext: "Încărcare...", + pgtext : "Pagina {0} din {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Caută...", + Find: "Caută", + Reset: "Resetare", + odata: [{ oper:'eq', text:"egal"},{ oper:'ne', text:"diferit"},{ oper:'lt', text:"mai mic"},{ oper:'le', text:"mai mic sau egal"},{ oper:'gt', text:"mai mare"},{ oper:'ge', text:"mai mare sau egal"},{ oper:'bw', text:"începe cu"},{ oper:'bn', text:"nu începe cu"},{ oper:'in', text:"se găsește în"},{ oper:'ni', text:"nu se găsește în"},{ oper:'ew', text:"se termină cu"},{ oper:'en', text:"nu se termină cu"},{ oper:'cn', text:"conține"},{ oper:'nc', text:""},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "toate" }, { op: "OR", text: "oricare" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Adăugare înregistrare", + editCaption: "Modificare înregistrare", + bSubmit: "Salvează", + bCancel: "Anulare", + bClose: "Închide", + saveData: "Informațiile au fost modificate! Salvați modificările?", + bYes : "Da", + bNo : "Nu", + bExit : "Anulare", + msg: { + required:"Câmpul este obligatoriu", + number:"Vă rugăm introduceți un număr valid", + minValue:"valoarea trebuie sa fie mai mare sau egală cu", + maxValue:"valoarea trebuie sa fie mai mică sau egală cu", + email: "nu este o adresă de e-mail validă", + integer: "Vă rugăm introduceți un număr valid", + date: "Vă rugăm să introduceți o dată validă", + url: "Nu este un URL valid. Prefixul este necesar('http://' or 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "Vizualizare înregistrare", + bClose: "Închidere" + }, + del : { + caption: "Ștegere", + msg: "Ștergeți înregistrarea (înregistrările) selectate?", + bSubmit: "Șterge", + bCancel: "Anulare" + }, + nav : { + edittext: "", + edittitle: "Modifică rândul selectat", + addtext:"", + addtitle: "Adaugă rând nou", + deltext: "", + deltitle: "Șterge rândul selectat", + searchtext: "", + searchtitle: "Căutare înregistrări", + refreshtext: "", + refreshtitle: "Reîncarcare Grid", + alertcap: "Avertisment", + alerttext: "Vă rugăm să selectați un rând", + viewtext: "", + viewtitle: "Vizualizează rândul selectat", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Arată/Ascunde coloanele", + bSubmit: "Salvează", + bCancel: "Anulare" + }, + errors : { + errcap : "Eroare", + nourl : "Niciun url nu este setat", + norecords: "Nu sunt înregistrări de procesat", + model : "Lungimea colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", + "Duminică", "Luni", "Marți", "Miercuri", "Joi", "Vineri", "Sâmbătă" + ], + monthNames: [ + "Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Noi", "Dec", + "Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie" + ], + AmPm : ["am","pm","AM","PM"], + /* + Here is a problem in romanian: + M / F + 1st = primul / prima + 2nd = Al doilea / A doua + 3rd = Al treilea / A treia + 4th = Al patrulea/ A patra + 5th = Al cincilea / A cincea + 6th = Al șaselea / A șasea + 7th = Al șaptelea / A șaptea + .... + */ + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-ru.js b/src/main/webapp/resources/demo2/i18n/grid.locale-ru.js new file mode 100644 index 0000000..f7620d1 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-ru.js @@ -0,0 +1,169 @@ +/** + * jqGrid Russian Translation v1.0 02.07.2009 (based on translation by Alexey Kanaev v1.1 21.01.2009, http://softcore.com.ru) + * Sergey Dyagovchenko + * http://d.sumy.ua + * Tony Tomov + * http://www.guriddo.net + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["ru"] = { + defaults : { + recordtext: "Просмотр {0} - {1} из {2}", + emptyrecords: "Нет записей для просмотра", + loadtext: "Загрузка...", + pgtext : "Стр. {0} из {1}", + savetext: "Сохранения...", + pgfirst : "Первая", + pglast : "Последняя", + pgnext : "Следующая", + pgprev : "Предыдущая", + pgrecs : "Записей на стр.", + showhide: "Показать/Скрыть таблицу", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Поиск...", + Find: "Найти", + Reset: "Сброс", + odata: [{ oper:'eq', text:"равно"},{ oper:'ne', text:"не равно"},{ oper:'lt', text:"меньше"},{ oper:'le', text:"меньше или равно"},{ oper:'gt', text:"больше"},{ oper:'ge', text:"больше или равно"},{ oper:'bw', text:"начинается с"},{ oper:'bn', text:"не начинается с"},{ oper:'in', text:"находится в"},{ oper:'ni', text:"не находится в"},{ oper:'ew', text:"заканчивается на"},{ oper:'en', text:"не заканчивается на"},{ oper:'cn', text:"содержит"},{ oper:'nc', text:"не содержит"},{ oper:'nu', text:"равно NULL"},{ oper:'nn', text:"не равно NULL"}], + groupOps: [ { op: "AND", text: "все" }, { op: "OR", text: "любой" }], + operandTitle : "Выбрать поисковую операцию.", + resetTitle : "Сбросить поиск" + }, + edit : { + addCaption: "Добавить запись", + editCaption: "Редактировать запись", + bSubmit: "Сохранить", + bCancel: "Отмена", + bClose: "Закрыть", + saveData: "Данные были измененны! Сохранить изменения?", + bYes : "Да", + bNo : "Нет", + bExit : "Отмена", + msg: { + required:"Поле является обязательным", + number:"Пожалуйста, введите правильное число", + minValue:"значение должно быть больше либо равно", + maxValue:"значение должно быть меньше либо равно", + email: "некорректное значение e-mail", + integer: "Пожалуйста, введите целое число", + date: "Пожалуйста, введите правильную дату", + url: "неверная ссылка. Необходимо ввести префикс ('http://' или 'https://')", + nodefined : " не определено!", + novalue : " возвращаемое значение обязательно!", + customarray : "Пользовательская функция должна возвращать массив!", + customfcheck : "Пользовательская функция должна присутствовать в случаи пользовательской проверки!" + } + }, + view : { + caption: "Просмотр записи", + bClose: "Закрыть" + }, + del : { + caption: "Удалить", + msg: "Удалить выбранную запись(и)?", + bSubmit: "Удалить", + bCancel: "Отмена" + }, + nav : { + edittext: " ", + edittitle: "Редактировать выбранную запись", + addtext:" ", + addtitle: "Добавить новую запись", + deltext: " ", + deltitle: "Удалить выбранную запись", + searchtext: " ", + searchtitle: "Найти записи", + refreshtext: "", + refreshtitle: "Обновить таблицу", + alertcap: "Внимание", + alerttext: "Пожалуйста, выберите запись", + viewtext: "", + viewtitle: "Просмотреть выбранную запись", + savetext: "", + savetitle: "Сохранить запись", + canceltext: "", + canceltitle : "Отмена сохранения", + selectcaption : "Actions..." + }, + col : { + caption: "Показать/скрыть столбцы", + bSubmit: "Сохранить", + bCancel: "Отмена" + }, + errors : { + errcap : "Ошибка", + nourl : "URL не установлен", + norecords: "Нет записей для обработки", + model : "Число полей не соответствует числу столбцов таблицы!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", + "Воскресение", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота" + ], + monthNames: [ + "Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек", + "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';}, + srcformat: 'Y-m-d', + newformat: 'd.m.Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n.j.Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y G:i:s", + MonthDay: "F d", + ShortTime: "G:i", + LongTime: "G:i:s", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-sk.js b/src/main/webapp/resources/demo2/i18n/grid.locale-sk.js new file mode 100644 index 0000000..fae53d1 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-sk.js @@ -0,0 +1,167 @@ +/** + * jqGrid Slovak Translation + * Milan Cibulka + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["sk"] = { + defaults : { + recordtext: "Zobrazených {0} - {1} z {2} záznamov", + emptyrecords: "Neboli nájdené žiadne záznamy", + loadtext: "Načítám...", + pgtext : "Strana {0} z {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Vyhľadávam...", + Find: "Hľadať", + Reset: "Reset", + odata: [{ oper:'eq', text:"rovná sa"},{ oper:'ne', text:"nerovná sa"},{ oper:'lt', text:"menšie"},{ oper:'le', text:"menšie alebo rovnajúce sa"},{ oper:'gt', text:"väčšie"},{ oper:'ge', text:"väčšie alebo rovnajúce sa"},{ oper:'bw', text:"začína s"},{ oper:'bn', text:"nezačína s"},{ oper:'in', text:"je v"},{ oper:'ni', text:"nie je v"},{ oper:'ew', text:"končí s"},{ oper:'en', text:"nekončí s"},{ oper:'cn', text:"obahuje"},{ oper:'nc', text:"neobsahuje"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "všetkých" }, { op: "OR", text: "niektorého z" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Pridať záznam", + editCaption: "Editácia záznamov", + bSubmit: "Uložiť", + bCancel: "Storno", + bClose: "Zavrieť", + saveData: "Údaje boli zmenené! Uložiť zmeny?", + bYes : "Ano", + bNo : "Nie", + bExit : "Zrušiť", + msg: { + required:"Pole je požadované", + number:"Prosím, vložte valídne číslo", + minValue:"hodnota musí býť väčšia ako alebo rovná ", + maxValue:"hodnota musí býť menšia ako alebo rovná ", + email: "nie je valídny e-mail", + integer: "Prosím, vložte celé číslo", + date: "Prosím, vložte valídny dátum", + url: "nie je platnou URL. Požadovaný prefix ('http://' alebo 'https://')", + nodefined : " nie je definovaný!", + novalue : " je vyžadovaná návratová hodnota!", + customarray : "Custom function mala vrátiť pole!", + customfcheck : "Custom function by mala byť prítomná v prípade custom checking!" + } + }, + view : { + caption: "Zobraziť záznam", + bClose: "Zavrieť" + }, + del : { + caption: "Zmazať", + msg: "Zmazať vybraný(é) záznam(y)?", + bSubmit: "Zmazať", + bCancel: "Storno" + }, + nav : { + edittext: " ", + edittitle: "Editovať vybraný riadok", + addtext:" ", + addtitle: "Pridať nový riadek", + deltext: " ", + deltitle: "Zmazať vybraný záznam ", + searchtext: " ", + searchtitle: "Nájsť záznamy", + refreshtext: "", + refreshtitle: "Obnoviť tabuľku", + alertcap: "Varovanie", + alerttext: "Prosím, vyberte riadok", + viewtext: "", + viewtitle: "Zobraziť vybraný riadok", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Zobrazit/Skrýť stĺpce", + bSubmit: "Uložiť", + bCancel: "Storno" + }, + errors : { + errcap : "Chyba", + nourl : "Nie je nastavená url", + norecords: "Žiadne záznamy k spracovaniu", + model : "Dĺžka colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Ne", "Po", "Ut", "St", "Št", "Pi", "So", + "Nedela", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatek", "Sobota" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec", + "Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December" + ], + AmPm : ["do","od","DO","OD"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-sr-latin.js b/src/main/webapp/resources/demo2/i18n/grid.locale-sr-latin.js new file mode 100644 index 0000000..8e8dd70 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-sr-latin.js @@ -0,0 +1,168 @@ +/** + * jqGrid Serbian latin Translation + * Bild Studio info@bild-studio.net + * http://www.bild-studio.com + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["sr-latin"] = { + defaults : { + recordtext: "Pregled {0} - {1} od {2}", + emptyrecords: "Ne postoji nijedan zapis", + loadtext: "Učitavanje…", + pgtext : "Strana {0} od {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Traženje...", + Find: "Traži", + Reset: "Resetuj", + odata: [{ oper:'eq', text:"jednako"},{ oper:'ne', text:"nije jednako"},{ oper:'lt', text:"manje"},{ oper:'le', text:"manje ili jednako"},{ oper:'gt', text:"veće"},{ oper:'ge', text:"veće ili jednako"},{ oper:'bw', text:"počinje sa"},{ oper:'bn', text:"ne počinje sa"},{ oper:'in', text:"je u"},{ oper:'ni', text:"nije u"},{ oper:'ew', text:"završava sa"},{ oper:'en', text:"ne završava sa"},{ oper:'cn', text:"sadrži"},{ oper:'nc', text:"ne sadrži"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "sva" }, { op: "OR", text: "bilo koje" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Dodaj zapis", + editCaption: "Izmeni zapis", + bSubmit: "Pošalji", + bCancel: "Odustani", + bClose: "Zatvori", + saveData: "Podatak je izmenjen! Sačuvaj izmene?", + bYes : "Da", + bNo : "Ne", + bExit : "Odustani", + msg: { + required: "Polje je obavezno", + number: "Unesite ispravan broj", + minValue: "vrednost mora biti veća od ili jednaka sa ", + maxValue: "vrednost mora biti manja ili jednaka sa", + email: "nije ispravna email adresa, nije valjda da ne umeš ukucati mail!?", + integer: "Unesi celobrojnu vrednost ", + date: "Unesite ispravan datum", + url: "nije ispravan URL. Potreban je prefiks ('http://' or 'https://')", + nodefined : " nije definisan!", + novalue : " zahtevana je povratna vrednost!", + customarray : "Prilagođena funkcija treba da vrati niz!", + customfcheck : "Prilagođena funkcija treba da bude prisutana u slučaju prilagođene provere!" + + } + }, + view : { + caption: "Pogledaj zapis", + bClose: "Zatvori" + }, + del : { + caption: "Izbrisi", + msg: "Izbrisi izabran(e) zapise(e)?", + bSubmit: "Izbriši", + bCancel: "Odbaci" + }, + nav : { + edittext: "", + edittitle: "Izmeni izabrani red", + addtext:"", + addtitle: "Dodaj novi red", + deltext: "", + deltitle: "Izbriši izabran red", + searchtext: "", + searchtitle: "Nađi zapise", + refreshtext: "", + refreshtitle: "Ponovo učitaj podatke", + alertcap: "Upozorenje", + alerttext: "Izaberite red", + viewtext: "", + viewtitle: "Pogledaj izabrani red", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Izaberi kolone", + bSubmit: "OK", + bCancel: "Odbaci" + }, + errors : { + errcap : "Greška", + nourl : "Nije postavljen URL", + norecords: "Nema zapisa za obradu", + model : "Dužina modela colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", + "Nedelja", "Ponedeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec", + "Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-sr.js b/src/main/webapp/resources/demo2/i18n/grid.locale-sr.js new file mode 100644 index 0000000..76e0e39 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-sr.js @@ -0,0 +1,168 @@ +/** + * jqGrid Serbian Translation + * Александар Миловац(Aleksandar Milovac) aleksandar.milovac@gmail.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["sr"] = { + defaults : { + recordtext: "Преглед {0} - {1} од {2}", + emptyrecords: "Не постоји ниједан запис", + loadtext: "Учитавање...", + pgtext : "Страна {0} од {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Тражење...", + Find: "Тражи", + Reset: "Ресетуј", + odata: [{ oper:'eq', text:"једнако"},{ oper:'ne', text:"није једнако"},{ oper:'lt', text:"мање"},{ oper:'le', text:"мање или једнако"},{ oper:'gt', text:"веће"},{ oper:'ge', text:"веће или једнако"},{ oper:'bw', text:"почиње са"},{ oper:'bn', text:"не почиње са"},{ oper:'in', text:"је у"},{ oper:'ni', text:"није у"},{ oper:'ew', text:"завршава са"},{ oper:'en', text:"не завршава са"},{ oper:'cn', text:"садржи"},{ oper:'nc', text:"не садржи"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "И", text: "сви" }, { op: "ИЛИ", text: "сваки" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Додај запис", + editCaption: "Измени запис", + bSubmit: "Пошаљи", + bCancel: "Одустани", + bClose: "Затвори", + saveData: "Податак је измењен! Сачувај измене?", + bYes : "Да", + bNo : "Не", + bExit : "Одустани", + msg: { + required:"Поље је обавезно", + number:"Молим, унесите исправан број", + minValue:"вредност мора бити већа од или једнака са ", + maxValue:"вредност мора бити мања од или једнака са", + email: "није исправна имејл адреса", + integer: "Молим, унесите исправну целобројну вредност ", + date: "Молим, унесите исправан датум", + url: "није исправан УРЛ. Потребан је префикс ('http://' or 'https://')", + nodefined : " није дефинисан!", + novalue : " захтевана је повратна вредност!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + + } + }, + view : { + caption: "Погледај запис", + bClose: "Затвори" + }, + del : { + caption: "Избриши", + msg: "Избриши изабран(е) запис(е)?", + bSubmit: "Ибриши", + bCancel: "Одбаци" + }, + nav : { + edittext: "", + edittitle: "Измени изабрани ред", + addtext:"", + addtitle: "Додај нови ред", + deltext: "", + deltitle: "Избриши изабран ред", + searchtext: "", + searchtitle: "Нађи записе", + refreshtext: "", + refreshtitle: "Поново учитај податке", + alertcap: "Упозорење", + alerttext: "Молим, изаберите ред", + viewtext: "", + viewtitle: "Погледај изабрани ред", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Изабери колоне", + bSubmit: "ОК", + bCancel: "Одбаци" + }, + errors : { + errcap : "Грешка", + nourl : "Није постављен URL", + norecords: "Нема записа за обраду", + model : "Дужина модела colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", + "Недеља", "Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота" + ], + monthNames: [ + "Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец", + "Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-sv.js b/src/main/webapp/resources/demo2/i18n/grid.locale-sv.js new file mode 100644 index 0000000..51974b8 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-sv.js @@ -0,0 +1,167 @@ +/** + * jqGrid Swedish Translation + * Harald Normann harald.normann@wts.se, harald.normann@gmail.com + * http://www.worldteamsoftware.com + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["sv"] = { + defaults : { + recordtext: "Visar {0} - {1} av {2}", + emptyrecords: "Det finns inga poster att visa", + loadtext: "Laddar...", + pgtext : "Sida {0} av {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Sök Poster - Ange sökvillkor", + Find: "Sök", + Reset: "Nollställ Villkor", + odata: [{ oper:'eq', text:"lika"},{ oper:'ne', text:"ej lika"},{ oper:'lt', text:"mindre"},{ oper:'le', text:"mindre eller lika"},{ oper:'gt', text:"större"},{ oper:'ge', text:"större eller lika"},{ oper:'bw', text:"börjar med"},{ oper:'bn', text:"börjar inte med"},{ oper:'in', text:"tillhör"},{ oper:'ni', text:"tillhör inte"},{ oper:'ew', text:"slutar med"},{ oper:'en', text:"slutar inte med"},{ oper:'cn', text:"innehåller"},{ oper:'nc', text:"innehåller inte"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "alla" }, { op: "OR", text: "eller" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Ny Post", + editCaption: "Redigera Post", + bSubmit: "Spara", + bCancel: "Avbryt", + bClose: "Stäng", + saveData: "Data har ändrats! Spara förändringar?", + bYes : "Ja", + bNo : "Nej", + bExit : "Avbryt", + msg: { + required:"Fältet är obligatoriskt", + number:"Välj korrekt nummer", + minValue:"värdet måste vara större än eller lika med", + maxValue:"värdet måste vara mindre än eller lika med", + email: "är inte korrekt e-post adress", + integer: "Var god ange korrekt heltal", + date: "Var god ange korrekt datum", + url: "är inte en korrekt URL. Prefix måste anges ('http://' or 'https://')", + nodefined : " är inte definierad!", + novalue : " returvärde måste anges!", + customarray : "Custom funktion måste returnera en vektor!", + customfcheck : "Custom funktion måste finnas om Custom kontroll sker!" + } + }, + view : { + caption: "Visa Post", + bClose: "Stäng" + }, + del : { + caption: "Radera", + msg: "Radera markerad(e) post(er)?", + bSubmit: "Radera", + bCancel: "Avbryt" + }, + nav : { + edittext: "", + edittitle: "Redigera markerad rad", + addtext:"", + addtitle: "Skapa ny post", + deltext: "", + deltitle: "Radera markerad rad", + searchtext: "", + searchtitle: "Sök poster", + refreshtext: "", + refreshtitle: "Uppdatera data", + alertcap: "Varning", + alerttext: "Ingen rad är markerad", + viewtext: "", + viewtitle: "Visa markerad rad", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Välj Kolumner", + bSubmit: "OK", + bCancel: "Avbryt" + }, + errors : { + errcap : "Fel", + nourl : "URL saknas", + norecords: "Det finns inga poster att bearbeta", + model : "Antal colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"Kr", defaultValue: '0,00'}, + date : { + dayNames: [ + "Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", + "Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag" + ], + monthNames: [ + "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec", + "Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December" + ], + AmPm : ["fm","em","FM","EM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'Y-m-d', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-th.js b/src/main/webapp/resources/demo2/i18n/grid.locale-th.js new file mode 100644 index 0000000..7954643 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-th.js @@ -0,0 +1,168 @@ +/** + * jqGrid Thai Translation + * Kittituch Manakul m.kittituch@Gmail.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["th"] = { + defaults : { + recordtext: "แสดง {0} - {1} จาก {2}", + emptyrecords: "ไม่พบข้อมูล", + loadtext: "กำลังร้องขอข้อมูล...", + pgtext : "หน้า {0} จาก {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "กำลังค้นหา...", + Find: "ค้นหา", + Reset: "คืนค่ากลับ", + odata: [{ oper:'eq', text:"เท่ากับ"},{ oper:'ne', text:"ไม่เท่ากับ"},{ oper:'lt', text:"น้อยกว่า"},{ oper:'le', text:"ไม่มากกว่า"},{ oper:'gt', text:"มากกกว่า"},{ oper:'ge', text:"ไม่น้อยกว่า"},{ oper:'bw', text:"ขึ้นต้นด้วย"},{ oper:'bn', text:"ไม่ขึ้นต้นด้วย"},{ oper:'in', text:"มีคำใดคำหนึ่งใน"},{ oper:'ni', text:"ไม่มีคำใดคำหนึ่งใน"},{ oper:'ew', text:"ลงท้ายด้วย"},{ oper:'en', text:"ไม่ลงท้ายด้วย"},{ oper:'cn', text:"มีคำว่า"},{ oper:'nc', text:"ไม่มีคำว่า"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "และ", text: "ทั้งหมด" }, { op: "หรือ", text: "ใดๆ" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "เพิ่มข้อมูล", + editCaption: "แก้ไขข้อมูล", + bSubmit: "บันทึก", + bCancel: "ยกเลิก", + bClose: "ปิด", + saveData: "คุณต้องการบันทึการแก้ไข ใช่หรือไม่?", + bYes : "บันทึก", + bNo : "ละทิ้งการแก้ไข", + bExit : "ยกเลิก", + msg: { + required:"ข้อมูลนี้จำเป็น", + number:"กรุณากรอกหมายเลขให้ถูกต้อง", + minValue:"ค่าของข้อมูลนี้ต้องไม่น้อยกว่า", + maxValue:"ค่าของข้อมูลนี้ต้องไม่มากกว่า", + email: "อีเมลล์นี้ไม่ถูกต้อง", + integer: "กรุณากรอกเป็นจำนวนเต็ม", + date: "กรุณากรอกวันที่ให้ถูกต้อง", + url: "URL ไม่ถูกต้อง URL จำเป็นต้องขึ้นต้นด้วย 'http://' หรือ 'https://'", + nodefined : "ไม่ได้ถูกกำหนดค่า!", + novalue : "ต้องการการคืนค่า!", + customarray : "ฟังก์ชันที่สร้างขึ้นต้องส่งค่ากลับเป็นแบบแอเรย์", + customfcheck : "ระบบต้องการฟังก์ชันที่สร้างขึ้นสำหรับการตรวจสอบ!" + + } + }, + view : { + caption: "เรียกดูข้อมูล", + bClose: "ปิด" + }, + del : { + caption: "ลบข้อมูล", + msg: "คุณต้องการลบข้อมูลที่ถูกเลือก ใช่หรือไม่?", + bSubmit: "ต้องการลบ", + bCancel: "ยกเลิก" + }, + nav : { + edittext: "", + edittitle: "แก้ไขข้อมูล", + addtext:"", + addtitle: "เพิ่มข้อมูล", + deltext: "", + deltitle: "ลบข้อมูล", + searchtext: "", + searchtitle: "ค้นหาข้อมูล", + refreshtext: "", + refreshtitle: "รีเฟรช", + alertcap: "คำเตือน", + alerttext: "กรุณาเลือกข้อมูล", + viewtext: "", + viewtitle: "ดูรายละเอียดข้อมูล", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "กรุณาเลือกคอลัมน์", + bSubmit: "ตกลง", + bCancel: "ยกเลิก" + }, + errors : { + errcap : "เกิดความผิดพลาด", + nourl : "ไม่ได้กำหนด URL", + norecords: "ไม่มีข้อมูลให้ดำเนินการ", + model : "จำนวนคอลัมน์ไม่เท่ากับจำนวนคอลัมน์โมเดล!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", + "อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัสบดี", "ศูกร์", "เสาร์" + ], + monthNames: [ + "ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค.", + "มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฏาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return ''}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-tr.js b/src/main/webapp/resources/demo2/i18n/grid.locale-tr.js new file mode 100644 index 0000000..48d5a26 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-tr.js @@ -0,0 +1,166 @@ +/** + * jqGrid Turkish Translation + * Erhan Gündoğan (erhan@trposta.net) + * http://blog.zakkum.com + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["tr"] = { + defaults : { + recordtext: "{0}-{1} listeleniyor. Toplam:{2}", + emptyrecords: "Kayıt bulunamadı", + loadtext: "Yükleniyor...", + pgtext : "{0}/{1}. Sayfa", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Arama...", + Find: "Bul", + Reset: "Temizle", + odata: [{ oper:'eq', text:"eşit"},{ oper:'ne', text:"eşit değil"},{ oper:'lt', text:"daha az"},{ oper:'le', text:"daha az veya eşit"},{ oper:'gt', text:"daha fazla"},{ oper:'ge', text:"daha fazla veya eşit"},{ oper:'bw', text:"ile başlayan"},{ oper:'bn', text:"ile başlamayan"},{ oper:'in', text:"içinde"},{ oper:'ni', text:"içinde değil"},{ oper:'ew', text:"ile biten"},{ oper:'en', text:"ile bitmeyen"},{ oper:'cn', text:"içeren"},{ oper:'nc', text:"içermeyen"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "VE", text: "tüm" }, { op: "VEYA", text: "herhangi" }], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Kayıt Ekle", + editCaption: "Kayıt Düzenle", + bSubmit: "Gönder", + bCancel: "İptal", + bClose: "Kapat", + saveData: "Veriler değişti! Kayıt edilsin mi?", + bYes : "Evet", + bNo : "Hayıt", + bExit : "İptal", + msg: { + required:"Alan gerekli", + number:"Lütfen bir numara giriniz", + minValue:"girilen değer daha büyük ya da buna eşit olmalıdır", + maxValue:"girilen değer daha küçük ya da buna eşit olmalıdır", + email: "geçerli bir e-posta adresi değildir", + integer: "Lütfen bir tamsayı giriniz", + url: "Geçerli bir URL değil. ('http://' or 'https://') ön eki gerekli.", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "Kayıt Görüntüle", + bClose: "Kapat" + }, + del : { + caption: "Sil", + msg: "Seçilen kayıtlar silinsin mi?", + bSubmit: "Sil", + bCancel: "İptal" + }, + nav : { + edittext: " ", + edittitle: "Seçili satırı düzenle", + addtext:" ", + addtitle: "Yeni satır ekle", + deltext: " ", + deltitle: "Seçili satırı sil", + searchtext: " ", + searchtitle: "Kayıtları bul", + refreshtext: "", + refreshtitle: "Tabloyu yenile", + alertcap: "Uyarı", + alerttext: "Lütfen bir satır seçiniz", + viewtext: "", + viewtitle: "Seçilen satırı görüntüle", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Sütunları göster/gizle", + bSubmit: "Gönder", + bCancel: "İptal" + }, + errors : { + errcap : "Hata", + nourl : "Bir url yapılandırılmamış", + norecords: "İşlem yapılacak bir kayıt yok", + model : "colNames uzunluğu <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "Paz", "Pts", "Sal", "Çar", "Per", "Cum", "Cts", + "Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi" + ], + monthNames: [ + "Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara", + "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd/m/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n/j/Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-tw.js b/src/main/webapp/resources/demo2/i18n/grid.locale-tw.js new file mode 100644 index 0000000..547ffda --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-tw.js @@ -0,0 +1,169 @@ +/** + * jqGrid Chinese (Taiwan) Translation for v4.2 + * linquize + * https://github.com/linquize/jqGrid + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["tw"] = { + defaults : { + recordtext: "{0} - {1} 共 {2} 條", + emptyrecords: "沒有記錄", + loadtext: "載入中...", + pgtext : " {0} 共 {1} 頁", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "搜尋...", + Find: "搜尋", + Reset: "重設", + odata: [{ oper:'eq', text:"等於 "},{ oper:'ne', text:"不等於 "},{ oper:'lt', text:"小於 "},{ oper:'le', text:"小於等於 "},{ oper:'gt', text:"大於 "},{ oper:'ge', text:"大於等於 "},{ oper:'bw', text:"開始於 "},{ oper:'bn', text:"不開始於 "},{ oper:'in', text:"在其中 "},{ oper:'ni', text:"不在其中 "},{ oper:'ew', text:"結束於 "},{ oper:'en', text:"不結束於 "},{ oper:'cn', text:"包含 "},{ oper:'nc', text:"不包含 "},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "所有" }, { op: "OR", text: "任一" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "新增記錄", + editCaption: "編輯記錄", + bSubmit: "提交", + bCancel: "取消", + bClose: "關閉", + saveData: "資料已改變,是否儲存?", + bYes : "是", + bNo : "否", + bExit : "取消", + msg: { + required:"此欄必要", + number:"請輸入有效的數字", + minValue:"值必須大於等於 ", + maxValue:"值必須小於等於 ", + email: "不是有效的e-mail地址", + integer: "請輸入有效整数", + date: "請輸入有效時間", + url: "網址無效。前綴必須為 ('http://' 或 'https://')", + nodefined : " 未定義!", + novalue : " 需要傳回值!", + customarray : "自訂函數應傳回陣列!", + customfcheck : "自訂檢查應有自訂函數!" + + } + }, + view : { + caption: "查看記錄", + bClose: "關閉" + }, + del : { + caption: "刪除", + msg: "刪除已選記錄?", + bSubmit: "刪除", + bCancel: "取消" + }, + nav : { + edittext: "", + edittitle: "編輯已選列", + addtext:"", + addtitle: "新增列", + deltext: "", + deltitle: "刪除已選列", + searchtext: "", + searchtitle: "搜尋記錄", + refreshtext: "", + refreshtitle: "重新整理表格", + alertcap: "警告", + alerttext: "請選擇列", + viewtext: "", + viewtitle: "檢視已選列", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "選擇欄", + bSubmit: "確定", + bCancel: "取消" + }, + errors : { + errcap : "錯誤", + nourl : "未設定URL", + norecords: "無需要處理的記錄", + model : "colNames 和 colModel 長度不同!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}, + currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'}, + date : { + dayNames: [ + "日", "一", "二", "三", "四", "五", "六", + "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" + ], + monthNames: [ + "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二", + "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月" + ], + AmPm : ["上午","下午","上午","下午"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';}, + srcformat: 'Y-m-d', + newformat: 'm-d-Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "Y/j/n", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y g:i:s A", + MonthDay: "F d", + ShortTime: "g:i A", + LongTime: "g:i:s A", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-ua.js b/src/main/webapp/resources/demo2/i18n/grid.locale-ua.js new file mode 100644 index 0000000..19ec52c --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-ua.js @@ -0,0 +1,158 @@ +/** + * jqGrid Ukrainian Translation v1.0 02.07.2009 + * Sergey Dyagovchenko + * http://d.sumy.ua + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["ua"] = { + defaults : { + recordtext: "Перегляд {0} - {1} з {2}", + emptyrecords: "Немає записів для перегляду", + loadtext: "Завантаження...", + pgtext : "Стор. {0} з {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid" + }, + search : { + caption: "Пошук...", + Find: "Знайти", + Reset: "Скидання", + odata: [{ oper:'eq', text:"рівно"},{ oper:'ne', text:"не рівно"},{ oper:'lt', text:"менше"},{ oper:'le', text:"менше або рівне"},{ oper:'gt', text:"більше"},{ oper:'ge', text:"більше або рівне"},{ oper:'bw', text:"починається з"},{ oper:'bn', text:"не починається з"},{ oper:'in', text:"знаходиться в"},{ oper:'ni', text:"не знаходиться в"},{ oper:'ew', text:"закінчується на"},{ oper:'en', text:"не закінчується на"},{ oper:'cn', text:"містить"},{ oper:'nc', text:"не містить"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "все" }, { op: "OR", text: "будь-який" }], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Додати запис", + editCaption: "Змінити запис", + bSubmit: "Зберегти", + bCancel: "Відміна", + bClose: "Закрити", + saveData: "До данних були внесені зміни! Зберегти зміни?", + bYes : "Так", + bNo : "Ні", + bExit : "Відміна", + msg: { + required:"Поле є обов'язковим", + number:"Будь ласка, введіть правильне число", + minValue:"значення повинне бути більше або дорівнює", + maxValue:"значення повинно бути менше або дорівнює", + email: "некоректна адреса електронної пошти", + integer: "Будь ласка, введення дійсне ціле значення", + date: "Будь ласка, введення дійсне значення дати", + url: "не дійсний URL. Необхідна приставка ('http://' or 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "Переглянути запис", + bClose: "Закрити" + }, + del : { + caption: "Видалити", + msg: "Видалити обраний запис(и)?", + bSubmit: "Видалити", + bCancel: "Відміна" + }, + nav : { + edittext: " ", + edittitle: "Змінити вибраний запис", + addtext:" ", + addtitle: "Додати новий запис", + deltext: " ", + deltitle: "Видалити вибраний запис", + searchtext: " ", + searchtitle: "Знайти записи", + refreshtext: "", + refreshtitle: "Оновити таблицю", + alertcap: "Попередження", + alerttext: "Будь ласка, виберіть запис", + viewtext: "", + viewtitle: "Переглянути обраний запис", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing" + }, + col : { + caption: "Показати/Приховати стовпці", + bSubmit: "Зберегти", + bCancel: "Відміна" + }, + errors : { + errcap : "Помилка", + nourl : "URL не задан", + norecords: "Немає записів для обробки", + model : "Число полів не відповідає числу стовпців таблиці!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", + "Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота" + ], + monthNames: [ + "Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру", + "Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd.m.Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n.j.Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y G:i:s", + MonthDay: "F d", + ShortTime: "G:i", + LongTime: "G:i:s", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-uk.js b/src/main/webapp/resources/demo2/i18n/grid.locale-uk.js new file mode 100644 index 0000000..13d835d --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-uk.js @@ -0,0 +1,167 @@ +/** + * jqGrid Ukrainian Translation v1.0 02.07.2009 + * Sergey Dyagovchenko + * http://d.sumy.ua + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["ua"] = { + defaults : { + recordtext: "Перегляд {0} - {1} з {2}", + emptyrecords: "Немає записів для перегляду", + loadtext: "Завантаження...", + pgtext : "Стор. {0} з {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Пошук...", + Find: "Знайти", + Reset: "Скидання", + odata: [{ oper:'eq', text:"рівно"},{ oper:'ne', text:"не рівно"},{ oper:'lt', text:"менше"},{ oper:'le', text:"менше або рівне"},{ oper:'gt', text:"більше"},{ oper:'ge', text:"більше або рівне"},{ oper:'bw', text:"починається з"},{ oper:'bn', text:"не починається з"},{ oper:'in', text:"знаходиться в"},{ oper:'ni', text:"не знаходиться в"},{ oper:'ew', text:"закінчується на"},{ oper:'en', text:"не закінчується на"},{ oper:'cn', text:"містить"},{ oper:'nc', text:"не містить"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "AND", text: "все" }, { op: "OR", text: "будь-який" }], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Додати запис", + editCaption: "Змінити запис", + bSubmit: "Зберегти", + bCancel: "Відміна", + bClose: "Закрити", + saveData: "До данних були внесені зміни! Зберегти зміни?", + bYes : "Так", + bNo : "Ні", + bExit : "Відміна", + msg: { + required:"Поле є обов'язковим", + number:"Будь ласка, введіть правильне число", + minValue:"значення повинне бути більше або дорівнює", + maxValue:"значення повинно бути менше або дорівнює", + email: "некоректна адреса електронної пошти", + integer: "Будь ласка, введення дійсне ціле значення", + date: "Будь ласка, введення дійсне значення дати", + url: "не дійсний URL. Необхідна приставка ('http://' or 'https://')", + nodefined : " is not defined!", + novalue : " return value is required!", + customarray : "Custom function should return array!", + customfcheck : "Custom function should be present in case of custom checking!" + } + }, + view : { + caption: "Переглянути запис", + bClose: "Закрити" + }, + del : { + caption: "Видалити", + msg: "Видалити обраний запис(и)?", + bSubmit: "Видалити", + bCancel: "Відміна" + }, + nav : { + edittext: " ", + edittitle: "Змінити вибраний запис", + addtext:" ", + addtitle: "Додати новий запис", + deltext: " ", + deltitle: "Видалити вибраний запис", + searchtext: " ", + searchtitle: "Знайти записи", + refreshtext: "", + refreshtitle: "Оновити таблицю", + alertcap: "Попередження", + alerttext: "Будь ласка, виберіть запис", + viewtext: "", + viewtitle: "Переглянути обраний запис", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Показати/Приховати стовпці", + bSubmit: "Зберегти", + bCancel: "Відміна" + }, + errors : { + errcap : "Помилка", + nourl : "URL не задан", + norecords: "Немає записів для обробки", + model : "Число полів не відповідає числу стовпців таблиці!" + }, + formatter : { + integer : {thousandsSeparator: " ", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0,00'}, + currency : {decimalSeparator:",", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0,00'}, + date : { + dayNames: [ + "Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", + "Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота" + ], + monthNames: [ + "Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру", + "Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень" + ], + AmPm : ["am","pm","AM","PM"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'}, + srcformat: 'Y-m-d', + newformat: 'd.m.Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + ShortDate: "n.j.Y", + LongDate: "l, F d, Y", + FullDateTime: "l, F d, Y G:i:s", + MonthDay: "F d", + ShortTime: "G:i", + LongTime: "G:i:s", + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + YearMonth: "F, Y" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/i18n/grid.locale-vi.js b/src/main/webapp/resources/demo2/i18n/grid.locale-vi.js new file mode 100644 index 0000000..5a5f752 --- /dev/null +++ b/src/main/webapp/resources/demo2/i18n/grid.locale-vi.js @@ -0,0 +1,208 @@ +/** + * jqGrid Vietnamese Translation + * Lê Đình Dũng dungtdc@gmail.com + * http://trirand.com/blog/ + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html +**/ +/*global jQuery, define */ +(function( factory ) { + "use strict"; + if ( typeof define === "function" && define.amd ) { + // AMD. Register as an anonymous module. + define([ + "jquery", + "../grid.base" + ], factory ); + } else { + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.jgrid = $.jgrid || {}; +if(!$.jgrid.hasOwnProperty("regional")) { + $.jgrid.regional = []; +} +$.jgrid.regional["vi"] = { + defaults : { + recordtext: "View {0} - {1} of {2}", + emptyrecords: "Không có dữ liệu", + loadtext: "Đang nạp dữ liệu...", + pgtext : "Trang {0} trong tổng số {1}", + savetext: "Saving...", + pgfirst : "First Page", + pglast : "Last Page", + pgnext : "Next Page", + pgprev : "Previous Page", + pgrecs : "Records per Page", + showhide: "Toggle Expand Collapse Grid", + // mobile + pagerCaption : "Grid::Page Settings", + pageText : "Page:", + recordPage : "Records per Page", + nomorerecs : "No more records...", + scrollPullup: "Pull up to load more...", + scrollPulldown : "Pull down to refresh...", + scrollRefresh : "Release to refresh..." + }, + search : { + caption: "Tìm kiếm...", + Find: "Tìm", + Reset: "Khởi tạo lại", + odata: [{ oper:'eq', text:"bằng"},{ oper:'ne', text:"không bằng"},{ oper:'lt', text:"bé hơn"},{ oper:'le', text:"bé hơn hoặc bằng"},{ oper:'gt', text:"lớn hơn"},{ oper:'ge', text:"lớn hơn hoặc bằng"},{ oper:'bw', text:"bắt đầu với"},{ oper:'bn', text:"không bắt đầu với"},{ oper:'in', text:"trong"},{ oper:'ni', text:"không nằm trong"},{ oper:'ew', text:"kết thúc với"},{ oper:'en', text:"không kết thúc với"},{ oper:'cn', text:"chứa"},{ oper:'nc', text:"không chứa"},{ oper:'nu', text:'is null'},{ oper:'nn', text:'is not null'}], + groupOps: [ { op: "VÀ", text: "tất cả" }, { op: "HOẶC", text: "bất kỳ" } ], + operandTitle : "Click to select search operation.", + resetTitle : "Reset Search Value" + }, + edit : { + addCaption: "Thêm bản ghi", + editCaption: "Sửa bản ghi", + bSubmit: "Gửi", + bCancel: "Hủy bỏ", + bClose: "Đóng", + saveData: "Dữ liệu đã thay đổi! Có lưu thay đổi không?", + bYes : "Có", + bNo : "Không", + bExit : "Hủy bỏ", + msg: { + required:"Trường dữ liệu bắt buộc có", + number:"Hãy điền đúng số", + minValue:"giá trị phải lớn hơn hoặc bằng với ", + maxValue:"giá trị phải bé hơn hoặc bằng", + email: "không phải là một email đúng", + integer: "Hãy điền đúng số nguyên", + date: "Hãy điền đúng ngày tháng", + url: "không phải là URL. Khởi đầu bắt buộc là ('http://' hoặc 'https://')", + nodefined : " chưa được định nghĩa!", + novalue : " giá trị trả về bắt buộc phải có!", + customarray : "Hàm nên trả về một mảng!", + customfcheck : "Custom function should be present in case of custom checking!" + + } + }, + view : { + caption: "Xem bản ghi", + bClose: "Đóng" + }, + del : { + caption: "Xóa", + msg: "Xóa bản ghi đã chọn?", + bSubmit: "Xóa", + bCancel: "Hủy bỏ" + }, + nav : { + edittext: "", + edittitle: "Sửa dòng đã chọn", + addtext:"", + addtitle: "Thêm mới 1 dòng", + deltext: "", + deltitle: "Xóa dòng đã chọn", + searchtext: "", + searchtitle: "Tìm bản ghi", + refreshtext: "", + refreshtitle: "Nạp lại lưới", + alertcap: "Cảnh báo", + alerttext: "Hãy chọn một dòng", + viewtext: "", + viewtitle: "Xem dòng đã chọn", + savetext: "", + savetitle: "Save row", + canceltext: "", + canceltitle : "Cancel row editing", + selectcaption : "Actions..." + }, + col : { + caption: "Chọn cột", + bSubmit: "OK", + bCancel: "Hủy bỏ" + }, + errors : { + errcap : "Lỗi", + nourl : "không url được đặt", + norecords: "Không có bản ghi để xử lý", + model : "Chiều dài của colNames <> colModel!" + }, + formatter : { + integer : {thousandsSeparator: ".", defaultValue: '0'}, + number : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, defaultValue: '0'}, + currency : {decimalSeparator:",", thousandsSeparator: ".", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0'}, + date : { + dayNames: [ + "CN", "T2", "T3", "T4", "T5", "T6", "T7", + "Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy" + ], + monthNames: [ + "Th1", "Th2", "Th3", "Th4", "Th5", "Th6", "Th7", "Th8", "Th9", "Th10", "Th11", "Th12", + "Tháng một", "Tháng hai", "Tháng ba", "Tháng tư", "Tháng năm", "Tháng sáu", "Tháng bảy", "Tháng tám", "Tháng chín", "Tháng mười", "Tháng mười một", "Tháng mười hai" + ], + AmPm : ["sáng","chiều","SÁNG","CHIỀU"], + S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th';}, + srcformat: 'Y-m-d', + newformat: 'n/j/Y', + parseRe : /[#%\\\/:_;.,\t\s-]/, + masks : { + // see http://php.net/manual/en/function.date.php for PHP format used in jqGrid + // and see http://docs.jquery.com/UI/Datepicker/formatDate + // and https://github.com/jquery/globalize#dates for alternative formats used frequently + // one can find on https://github.com/jquery/globalize/tree/master/lib/cultures many + // information about date, time, numbers and currency formats used in different countries + // one should just convert the information in PHP format + ISO8601Long:"Y-m-d H:i:s", + ISO8601Short:"Y-m-d", + // short date: + // n - Numeric representation of a month, without leading zeros + // j - Day of the month without leading zeros + // Y - A full numeric representation of a year, 4 digits + // example: 3/1/2012 which means 1 March 2012 + ShortDate: "n/j/Y", // in jQuery UI Datepicker: "M/d/yyyy" + // long date: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + LongDate: "l, F d, Y", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy" + // long date with long time: + // l - A full textual representation of the day of the week + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + // Y - A full numeric representation of a year, 4 digits + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + FullDateTime: "l, F d, Y g:i:s A", // in jQuery UI Datepicker: "dddd, MMMM dd, yyyy h:mm:ss tt" + // month day: + // F - A full textual representation of a month + // d - Day of the month, 2 digits with leading zeros + MonthDay: "F d", // in jQuery UI Datepicker: "MMMM dd" + // short time (without seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + ShortTime: "g:i A", // in jQuery UI Datepicker: "h:mm tt" + // long time (with seconds) + // g - 12-hour format of an hour without leading zeros + // i - Minutes with leading zeros + // s - Seconds, with leading zeros + // A - Uppercase Ante meridiem and Post meridiem (AM or PM) + LongTime: "g:i:s A", // in jQuery UI Datepicker: "h:mm:ss tt" + SortableDateTime: "Y-m-d\\TH:i:s", + UniversalSortableDateTime: "Y-m-d H:i:sO", + // month with year + // Y - A full numeric representation of a year, 4 digits + // F - A full textual representation of a month + YearMonth: "F, Y" // in jQuery UI Datepicker: "MMMM, yyyy" + }, + reformatAfterEdit : false, + userLocalTime : false + }, + baseLinkUrl: '', + showAction: '', + target: '', + checkbox : {disabled:true}, + idName : 'id' + } +}; +})); diff --git a/src/main/webapp/resources/demo2/install.txt b/src/main/webapp/resources/demo2/install.txt new file mode 100644 index 0000000..5407b35 --- /dev/null +++ b/src/main/webapp/resources/demo2/install.txt @@ -0,0 +1,43 @@ +Installation + +Download the jqGrid package from the www.trirand/blog site section downloads. +Note the new download manager where you can choose which modules you want to +include in the download. + +In order to use jqGrid 3.5, first a UI theme css file should be loaded. +Download the desired theme (or build a custom one) from jQueryUI site +(www.jqueryui.com) and point in your link tag in head section the path to the +theme css + + + +where the path_to_ui_css_file is a valid path to the ui theme file + +Extract the jqGrid package and copy the ui.jqgrid.css from css directory to +your webserver directory. It is not necessary that the jqgrid css file is in +the same directory as those of the jquery ui css. + + + +Starting with this version, jqGrid does not use a loader (which loads the +needed files one by one), but all the needed code is contained in one file. +The desired modules can be built using the jqGrid download manager from the +site pointed above. In order to use this, first a language file should be +loaded and then the jqgrid file. + +Copy the desired language file from js/i18n directory to your web server +directory where you store the java script files. Every language file is +named grid.locale-XX.js, where XX is a two-letter code for the language. +Copy the jquery.jqGid.min.js file to the same or other valid directory in +your web server + +Include both the files in script tags in the head section + + + + +For debugging purposes, I have created a grid.loader.js which does the same +loading of the files as in previous versions. The location of the file is in +src directory of the package. In order to use this, the variable pathojsfiles +should be adjusted to point to the appropriate folder - see 3.4.x docs. + diff --git a/src/main/webapp/resources/demo2/jquery-1.11.0.min.js b/src/main/webapp/resources/demo2/jquery-1.11.0.min.js new file mode 100644 index 0000000..73f33fb --- /dev/null +++ b/src/main/webapp/resources/demo2/jquery-1.11.0.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f +}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("