i18n | Gettext based framework for i18n in Java and JSF | Internationalization library

 by   jhorstmann Java Version: Current License: LGPL-3.0

kandi X-RAY | i18n Summary

kandi X-RAY | i18n Summary

i18n is a Java library typically used in Utilities, Internationalization applications. i18n has no bugs, it has build file available, it has a Weak Copyleft License and it has low support. However i18n has 1 vulnerabilities. You can download it from GitHub.

Gettext is an internationalization and localization (i18n) library which is commonly used for writing multilingual programs. Its most popular implementation is that of the GNU project. I18n with gettext works by marking up translatable strings in the source code, usually by wrapping them with a function call. The xgettext tool extracts these strings and creates a text file listing them. This file is called the template and its name usually ends in ".pot". The msginit tool creates a new text file mapping the extracted strings to their translation in a given locale, having the ".po" extension. Finally the msgfmt tool creates an optimized representation of the translation mappings that is then used at runtime. For most programs this is a binary file ending in ".mo", but it is also possible to create other formats, for example a java ResourceBundle. There are specialized editors for editing the ".mo" files, which can remember already translated strings and contain databases of repeatedly used words.

            kandi-support Support

              i18n has a low active ecosystem.
              It has 28 star(s) with 7 fork(s). There are 3 watchers for this library.
              It had no major release in the last 6 months.
              There are 2 open issues and 8 have been closed. On average issues are closed in 154 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of i18n is current.

            kandi-Quality Quality

              i18n has 0 bugs and 0 code smells.

            kandi-Security Security

              i18n has 1 vulnerability issues reported (0 critical, 1 high, 0 medium, 0 low).
              i18n code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              i18n is licensed under the LGPL-3.0 License. This license is Weak Copyleft.
              Weak Copyleft licenses have some restrictions, but you can use them in commercial projects.

            kandi-Reuse Reuse

              i18n releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              i18n saves you 3798 person hours of effort in developing the same functionality from scratch.
              It has 8099 lines of code, 731 functions and 159 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed i18n and discovered the below as its top functions. This is intended to give you an instant insight into i18n implemented functionality, and help decide if they suit your requirements.
            • Create resource bundle
            • Compiles the given message bundle
            • Adds the getObject method to the class
            • Compile static initializers
            • Unary operation
            • Constructs a new value for the given type
            • Handles a function call
            • Returns the namespace URI for the given prefix
            • Nary operations
            • Extract message
            • Binary operation
            • Creates a new instance of XML reader adapter with DTD and DTD features
            • Handle a start tag
            • Extract the message bundle
            • Processes the TranslationTag
            • Extracts the messages from the webapp
            • Handles formatting
            • Loads a message bundle from a properties file
            • Compile the first expression
            • Region Tag Implementation
            • Executes the mojo command
            • Returns the java locale from the given locale
            • Executes mojo
            • Extracts the message
            • Create a new operation
            • Render the message
            Get all kandi verified functions for this library.

            i18n Key Features

            No Key Features are available at this moment for i18n.

            i18n Examples and Code Snippets

            No Code Snippets are available at this moment for i18n.

            Community Discussions


            Rails 7 unable to find localized template when using underscore locale (lang_region)
            Asked 2022-Mar-02 at 14:06

            We are trying to update a Rails 6.1.4 app to the freshly released Rails 7.0.0 version. After following some guides and tweaking our basic configuration the app works just fine.

            Our views using localized strings interpolated by the I18n gem work just fine.

            But when we try to access our localized templates, those that have a locale variant in it's path like employees.pt_BR.html.erb, we keep getting:

            Marketing::LandingsController#employees is missing a template for request formats: text/html

            That did not happen in Rails 6.1.4 and we suspect it's due to using a non conventional naming for our locales. We use language_REGION (e.g. pt_BR) instead of the dash and conventional format according to Rails docs which is language-REGION (e.g. pt-BR).

            In our application.rb we have:



            Answered 2022-Mar-02 at 14:06

            It was a bug and was fixed with a PR we created. Further discussion: github.com/rails/rails/pull/44174

            Using Rails 7 from the github repo should solve this

            Source https://stackoverflow.com/questions/70683719


            java.lang.NoSuchMethodError: No virtual method setSkipClientToken(Z)V in class Lcom/facebook/GraphRequest;
            Asked 2022-Feb-25 at 23:22

            It was working fine before I have done nothing, no packages update, no gradle update no nothing just created new build and this error occurs. but for some team members the error occur after gradle sync.

            The issue is that build is generating successfully without any error but when opens the app it suddenly gets crash (in both debug and release mode)




            Answered 2022-Feb-25 at 23:22

            We have fixed the issue by replacing

            Source https://stackoverflow.com/questions/71256006


            Laravel Mix URL Processing error with css-loader
            Asked 2022-Feb-22 at 10:55

            In a fresh Laravel 9 installation, the URL processing from Laravel Mix does not work anymore.

            npm outputs the following:



            Answered 2022-Feb-22 at 10:55

            Actually moving the css imports into resources/js/app.js solves this problem. However, this results in the imported css to be included in the public/js/app.js, not the public/css/app.css.

            Source https://stackoverflow.com/questions/71163131


            How to dynamically define Headers and Settings for UWP NavigationView's menu, using C++/winRT?
            Asked 2022-Feb-02 at 17:01

            I'm working on a cross-platform project in C++ generating the UI dynamically, and I am struggling with C++/winRT UWP NavigationView on two problems:

            1. When defining a NavigationViewItemHeader, the resulting header title doesn't show in the navigation menu, the space remains empty,
            2. When trying to update the SettingsItem of the navigation menu, the value of the Settings navigation item is nullptr as returned by SettingsItem().

            Here is the code I wrote for generating the menu from a list of items managed independently from the host (e.g. Windows):



            Answered 2022-Feb-02 at 11:34

            Dynamic Headers/Footers enable different grouping options in reports, such as "By Location" or "By Location By System": Note that the words "Report Definitions" are circled above. Although reports can have up to three Dynamic Headers/Footers, some reports only have one or two Dynamic Groups.

            Source https://stackoverflow.com/questions/70944049


            Data path "" must NOT have additional properties(extractCss) in Angular 13 while upgrading project
            Asked 2022-Jan-27 at 14:41

            I am facing an issue while upgrading my project from angular 8.2.1 to angular 13 version.

            After a successful upgrade while preparing a build it is giving me the following error.



            Answered 2021-Dec-14 at 12:45

            Just remove the "extractCss": true from your production environment, it will resolve the problem.

            The reason about it is extractCss is deprecated, and it's value is true by default. See more here: Extracting CSS into JS with Angular 11 (deprecated extractCss)

            Source https://stackoverflow.com/questions/70344098


            i18next::pluralResolver: Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill
            Asked 2022-Jan-26 at 14:36

            Please help me.

            Error -

            i18next::pluralResolver: Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling

            Code -



            Answered 2021-Dec-29 at 17:31

            Look like an issue on android.

            Source https://stackoverflow.com/questions/70493788


            Vue 3: Module '"../../node_modules/vue/dist/vue"' has no exported member
            Asked 2022-Jan-24 at 08:38

            After updating my npm packages, some of the imports from the 'vue' module started showing errors:

            TS2305: Module '"../../node_modules/vue/dist/vue"' has no exported member 'X'

            where X is nextTick, onMounted, ref, watch etc. When serving the project, Vue says it's "failed to compile". WebStorm actually recognizes the exports, suggests them and shows types, but the error is shown regardless. Some exports like computed and defineComponent work just fine.

            What I've tried:

            • Rollback to the previously used Vue version "3.2.2" > "3.0.11". It makes the abovementioned type errors disappear, but the app stops working entirely, showing lots of TypeError: Object(...) is not a function errors in console and not rendering the app at all. In the terminal, some new warnings are introduced: "export 'X' (imported as '_X') was not found in 'vue' where X is createElementBlock, createElementVNode, normalizeClass and normalizeStyle.
            • Rollback other dependencies. None of the ones that I tried helped fix the problem, unfortunately.
            • Manually declare the entirety of 'vue' module. We can declare the 'vue' module exports in shims-vue.d.ts, and it actually makes the errors disappear, however, this seems like a terrible, time-consuming workaround, so I would opt out for a better solution if possible.

            My full list of dependencies:



            Answered 2021-Aug-15 at 13:53

            That named exports from composition API are unavailable means that vue is Vue 2 at some place which has only default export. Since Vue 3 is in dependencies and both lock file and node_modules were refreshed, this means that Vue 2 is nested dependency of some direct dependency.

            The problem needs to be investigated in lock file. It shows that @vue/cli-plugin-unit-jest@4.5.13 depends on vue-jest@3 which depends on vue@2.

            A possible solution is to upgrade @vue/cli-plugin-unit-jest to the latest version, next. The same likely applies to other @vue/cli-* packages because they have matching versions.

            Source https://stackoverflow.com/questions/68790790


            Docker-compose and rails console issue. 'Could not find rake-13.0.6 in any of the sources'
            Asked 2022-Jan-17 at 21:44

            I'm having some issues when trying to run rails console under docker. All other rails commands work as expected, but console does not.



            Answered 2022-Jan-17 at 20:50

            Every time you execute docker-compose run you create a new container, so the gems previously installed are not available anymore.

            In order to solve your problem you could run bundle install in Dockerfile, install the gems in the app folder bundle install --path vendor/bundle or mount the directory bundle uses by default to store the gems, typically /usr/local/bundle

            Source https://stackoverflow.com/questions/70746798


            It is required that you pass in a value for the "algorithms" argument when calling decode()
            Asked 2022-Jan-11 at 08:21

            The following pages are the code of projects: If i am using token = jwt.encode(payload,'secret', algorithm='HS256').decode('utf-8') statement then

            'str' object has no attribute 'decode'

            error is occuring. Also, when I am removing and using it without .decode('utf-8') and proceeding with the further code. it is working fine. But when I am applying payload = jwt.decode(token, 'secret', algorithm=['HS256'])


            It is required that you pass in a value for the "algorithms" argument when calling decode()"

            This above-mentioned error is occurring. Please Help me to rectify this error. This is the mentioned error that saying algorithms argument when calling decode() error should be rectified.

            View Page:



            Answered 2022-Jan-11 at 08:21

            You're missing an 's', the parameter is called "algorithms" in the decode function:

            Source https://stackoverflow.com/questions/70657749


            ActiveStorage - Could not find or build blob: expected attachable, got #
            Asked 2022-Jan-06 at 11:29
            Steps to reproduce




            Answered 2022-Jan-06 at 11:29

            First you need to create blob file in case of active storage.

            Source https://stackoverflow.com/questions/70550808

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            This affects the package i18n before 2.1.15. Vulnerability arises out of insufficient handling of erroneous language tags in src/i18n/Concrete/TextLocalizer.cs and src/i18n/LocalizedApplication.cs.

            Install i18n

            You can download it from GitHub.
            You can use i18n like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the i18n component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone jhorstmann/i18n

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Internationalization Libraries


            by formatjs


            by i18next


            by sebastianbergmann


            by globalizejs


            by angular-translate

            Try Top Libraries by jhorstmann


            by jhorstmannRust


            by jhorstmannJava


            by jhorstmannJavaScript


            by jhorstmannJava


            by jhorstmannJava