kiwi - 🐤Kiwi-国际化全流程解决方案

  •        2

kiwi is a full process international solution

https://github.com/nefe/kiwi#readme

Tags
Implementation
License
Platform

   




Related Projects

counterpart - A translation and localization library for Node.js and the browser.

  •    Javascript

A translation and localization library for Node.js and the browser. The project is inspired by Ruby's famous I18n gem. This function expects a key and options as arguments and translates, pluralizes and interpolates a given key using a given locale, scope, and fallback, as well as interpolation values.

babel-plugin-react-intl - Extracts string messages from React components that use React Intl.

  •    Javascript

Extracts string messages for translation from modules that use React Intl.Note: This Babel plugin works with React Intl v2.x, and 1.x of this plugin works with Babel 5, 2.x works with Babel 6.

react-intl - Internationalize React apps

  •    Javascript

Internationalize React apps. This library provides React components and an API to format dates, numbers, and strings, including pluralization and handling translations.React Intl is part of FormatJS. It provides bindings to React via its components and API.

handlebars-intl - Handlebars helpers for internationalization.

  •    Javascript

This library provides Handlebars helpers for internationalization. The helpers provide a declarative way to format dates, numbers, and string messages with pluralization support.This package used to be named handlebars-helper-intl.

i18n-tasks - Manage translation and localization with static analysis, for Ruby i18n

  •    Ruby

i18n-tasks helps you find and manage missing and unused translations. i18n-tasks can be used with any project using the ruby i18n gem (default in Rails).


go-i18n - Translate your Go program into multiple languages with templates and CLDR plural support.

  •    Go

go-i18n is a Go package and a command that helps you translate Go programs into multiple languages.The i18n package provides runtime APIs for fetching translated strings.

intl-messageformat - Format a string with placeholders, including plural and select support to create localized messages

  •    Javascript

Formats ICU Message strings with number, date, plural, and select placeholders to create localized messages.This package aims to provide a way for you to manage and format your JavaScript app's string messages into localized strings for people using your app. You can use this package in the browser and on the server via Node.js.

i18n-node - Lightweight simple translation module for node

  •    Javascript

Lightweight simple translation module with dynamic json storage. Supports plain vanilla node.js apps and should work with any framework (like express, restify and probably more) that exposes an app.use() method passing in res and req objects. Uses common __('...') syntax in app and templates. Stores language files in json files compatible to webtranslateit json format. Adds new strings on-the-fly when first used in your app. No extra parsing needed.now you are ready to use a global i18n.__('Hello').

i18n-active_record - I18n ActiveRecord backend

  •    Ruby

With this translation model you will be able to manage your translation, and add new translations or languages through it. To load I18n::Backend::ActiveRecord into your Rails application, create a new file in config/initializers named locale.rb.

jquery-i18n-properties - lightweight jQuery plugin for providing internationalization to javascript from ‘

  •    CSS

jQuery.i18n.properties is a lightweight jQuery plugin for providing internationalization to javascript from ‘.properties’ files, just like in Java Resource Bundles. It loads and parses resource bundles (.properties) based on provided language and country codes (ISO-639 and ISO-3166) or language reported by browser.Resource bundles are ‘.properties‘ files containing locale specific key-value pairs. The use of ‘.properties‘ files for translation is specially useful when sharing i18n files between Java and Javascript projects. This plugin loads the default file (eg, Messages.properties) first and then locale specific files (Messages_pt.properties, then Messages_pt_BR.properties), so that a default value is always available when there is no translation provided. Translation keys will be available to developer as javascript variables/functions (functions, if translated value contains substitutions (eg, {0}) or as a map.

International Components for Unicode

  •    Java

ICU is a mature, widely used set of portable C/C++ and Java libraries for Unicode support, software internationalization and globalization (i18n/g11n). The packages are mirrors of the main website at http://www.icu-project.org

spree_i18n - I18n translation files for the Spree project

  •    Ruby

I18n translation files for the Spree project

i18n_generators - A pack of Rails generators gem plugin that generates Rails 3 and Rails 2 I18n locale files for almost every known locale

  •    HTML

A Rails plugin that generates the I18n locale files with automatic translation. Supporting Rails 5.1, 5.0, 4.2.x, 4.1.x, 4.0.x, 3.2.x, 3.1.x, 3.0.x, 2.3.x, and 2.2.x. Here's an example of generating a translation file (the example model is taken from the Rails Girls app).

spree_i18n - I18n translation files for Spree Commerce.

  •    Ruby

See the official Internationalization documentation for more details. The branch option is important: it must match the version of Spree you're using. For example, use 3-0-stable if you're using Spree 3-0-stable or any 3.0.x version.

100-days-of-code - Fork this template for the 100 days journal - to keep yourself accountable (multiple languages available)

  •    

If you want to help by providing a translation of content/rules in the language you know, submit a pull request (or DM me on Twitter @ka11away), adding a sub-folder in the 'intl' folder with the files of the translation there. Check out the #100DaysOfX Challenges Project. Changing your habits you are changing your life. Remember that the best time to start is always NOW.

Pootle - Community localization server

  •    Python

Pootle is a user-friendly web portal that makes the translation process so much simpler. It allows online translation, work assignment, gives statistics and allows easy volunteer contribution. It provides Computer Aided Translation (CAT) tool, Translate Toolkit: QA, format conversion and support for PO, Java .properties, OpenOffice, Mozilla, XLIFF, TMX, TBX, CSV, Qt .ts.

polyglot.js - Give your JavaScript the ability to speak many languages.

  •    Javascript

Polyglot.js is a tiny I18n helper library written in JavaScript, made to work both in the browser and in CommonJS environments (Node). It provides a simple solution for interpolation and pluralization, based off of Airbnb’s experience adding I18n functionality to its Backbone.js and Node apps. Polyglot has zero dependencies.I18n is incredibly important for us at Airbnb, as we have listings in 192 countries, and we translate our site into 30-odd different languages. We’re also hiring talented engineers to help us scale up to meet the challenges of buliding a global marketplace.

kiwi

  •    C++

Kiwi is an efficient C++ implementation of the Cassowary constraint solving algorithm. Kiwi is an implementation of the algorithm based on the seminal Cassowary paper. It is not a refactoring of the original C++ solver. Kiwi has been designed from the ground up to be lightweight and fast. Kiwi ranges from 10x to 500x faster than the original Cassowary solver with typical use cases gaining a 40x improvement. Memory savings are consistently > 5x. In addition to the C++ solver, Kiwi ships with hand-rolled Python bindings.

django-rosetta - Rosetta is a Django application that eases the translation process of your Django projects

  •    Python

Rosetta is a Django application that eases the translation process of your Django projects. Because it doesn't export any models, Rosetta doesn't create any tables in your project's database. Rosetta can be installed and uninstalled by simply adding and removing a single entry in your project's INSTALLED_APPS and a single line in your main urls.py file.

mobility - Pluggable Ruby translation framework

  •    Ruby

Mobility is a gem for storing and retrieving translations as attributes on a class. These translations could be the content of blog posts, captions on images, tags on bookmarks, or anything else you might want to store in different languages. For examples of what Mobility can do, see the Companies using Mobility section below. Storage of translations is handled by customizable "backends" which encapsulate different storage strategies. The default way to store translations is to put them all in a set of two shared tables, but many alternatives are also supported, including translatable columns and model translation tables, as well as database-specific storage solutions such as json/jsonb and Hstore (for PostgreSQL).