{"_id":"@dbenfouzari/react-native-i18n","_rev":"2-2581722916218f12d7e278246632ca02","name":"@dbenfouzari/react-native-i18n","dist-tags":{"latest":"5.0.1"},"versions":{"5.0.0":{"name":"@dbenfouzari/react-native-i18n","description":"Easy i18n for your react-native app","version":"5.0.0","author":{"name":"Donovan BENFOUZARI","email":"d.benfouzari@gmail.com"},"scripts":{"build":"babel --source-maps --no-comments --quiet --root-mode upward --extensions \".js,.ts\" src -d lib","postbuild":"tsc -p . --outDir lib"},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/lodash.get":"^4.4.6","react-native-localize":"^2.0.0"},"peerDependencies":{"react-native-localize":"^2.0.0"},"repository":{"type":"git","url":"git+https://github.com/dbenfouzari/packages.git","directory":"packages/react-native-i18n"},"bugs":{"url":"https://github.com/dbenfouzari/packages/issues"},"homepage":"https://github.com/dbenfouzari/packages/tree/master/packages/react-native-i18n#readme","publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"keywords":["oclif"],"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","gitHead":"404e868aa3a4c19a34621103bd5bbf2a4a8ae1d6","_id":"@dbenfouzari/react-native-i18n@5.0.0","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-MxSvvI2N4kwFZuKKigZJGTsLrl2n5DetT3TZtKjkcgt+fY/1R6awJB3JmQZn1ujBzLB+6cQlnlN93BLhHoePxw==","shasum":"566517f47102c5864ddee473ece971edf1372f65","tarball":"https://registry.npmjs.org/@dbenfouzari/react-native-i18n/-/react-native-i18n-5.0.0.tgz","fileCount":68,"unpackedSize":460013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqAH/CRA9TVsSAnZWagAAxnoP/jBpJXtmc+kioA5xMhlJ\nB/Mgoi/BynY8WyFGpo0WnAfjr0jzLc98eAq8LRSXE3MYfcGbZY3BRh+Vk0hv\nzNwFJKUKDJTM7rjzZ8PCU+5yKam+JPtd471A7bbxi2eYcLf0nYkGO0k/1y2D\nkLyaJusOAsL2zzTNQGBuLjLXgnZmEP0yJjzBm5KlMDb+9HJPa/0uKm+iRkyy\nKQyknO+oLC1hxSWxx0doX5P6kWi+fgBiUXq6AQ9N1bLnyNDuVHG0F98TGG0A\nHrrxTAi+W52K2I+L275xRfHsdd9/1YwVqASlJKNyvTVqlVGZ8eiX2aXIcP4V\n/sW5OjcWD6mNrcVmJqUgdQY68U8RnEam4Nq5doMS4n0Cy/i9usFgUvjGUj9z\ng1G6X8EgXZLk8RtZ4UFSy1kQ270tMmoXzth/mrxKcNbYFOKDuHa6Uvxy7FH2\nt/PZ4B7kO/0RAM4F6+fmfkYvwYtUuTGvI5HTQHcZIpeL1NIMlFBrf1P4LWEB\nMfPm3AV/7n2bBTv9VopQ08vx3kObhr0axVxFLlUAWlCpUF76zXp7CUn6p7sx\n2b2QuO4d8UFnGLUgo3/8A9kdKpysSUyXzbXwb0kN9nWZddnVF7aHcCIUzFN6\nb/KI4qe7kr6BjO2c4XQxeuzUShssPJfgvfQfyb90WOBByIsFXcUahA/sAcTR\nErOj\r\n=YiR1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTBfnFJFshNbPEGzR//aHYS9bhTTSENv5vjlYLLZ7pFgIgN1k7KE7RSndCjRZM044jpvuKebCM8qMKNzWPqTP5dqQ="}]},"_npmUser":{"name":"d.benfouzari","email":"d.benfouzari@gmail.com"},"directories":{},"maintainers":[{"name":"d.benfouzari","email":"d.benfouzari@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-i18n_5.0.0_1621623294561_0.8566202263277034"},"_hasShrinkwrap":false},"5.0.1":{"name":"@dbenfouzari/react-native-i18n","description":"Easy i18n for your react-native app","version":"5.0.1","author":{"name":"Donovan BENFOUZARI","email":"d.benfouzari@gmail.com"},"scripts":{"build":"babel --source-maps --no-comments --quiet --root-mode upward --extensions \".js,.ts\" src -d lib","postbuild":"tsc -p . --outDir lib"},"dependencies":{"lodash.get":"^4.4.2"},"devDependencies":{"@types/lodash.get":"^4.4.6","react-native-localize":"^2.0.0"},"peerDependencies":{"react-native-localize":"^2.0.0"},"repository":{"type":"git","url":"git+https://github.com/dbenfouzari/packages.git","directory":"packages/react-native-i18n"},"bugs":{"url":"https://github.com/dbenfouzari/packages/issues"},"homepage":"https://github.com/dbenfouzari/packages/tree/master/packages/react-native-i18n#readme","publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"keywords":["oclif"],"license":"MIT","main":"lib/index.js","types":"lib/index.d.ts","gitHead":"73743e46cfa4a0993f16d4cd4ec4a8a74fa25170","_id":"@dbenfouzari/react-native-i18n@5.0.1","_nodeVersion":"14.16.0","_npmVersion":"lerna/3.22.1/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-hHrkpmjYONAPRuDFuZQDhBSykEB/wiwEVH4H2BKlbAR56eesjRrQ9vPld5TJo36UJtU/MCd0w5/mdGH6U8FQ/w==","shasum":"272accc2ba3e9683bd48181522ead43d7ed4ff2f","tarball":"https://registry.npmjs.org/@dbenfouzari/react-native-i18n/-/react-native-i18n-5.0.1.tgz","fileCount":68,"unpackedSize":460013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqAI+CRA9TVsSAnZWagAA8zQP/isnGDX/1Jo3uvYvCNCj\nsVvLBQlnyH4/oL45TFtrsuy8SnuqE1sj1dUZKL0dhI343RYX/2jEBhHgkfzI\nePDgxxWmOTiZgAjqD03RnFHNqaHGB0q+LAAXfe/SOSheI8WfWQG+rANX6den\nUPtm2IAo5+fNFY2Oxn8p+gxAAd1eVm7LUv6sQwM/P2uoq+eFpoHrglJRWl34\nm/FeNeg6yt2aoIvy7Xj9KgfRqrtqWoM/4oNHYRSTP4TGiCcX8G1/2MU0VPIR\nnKzaTJqYDdifn7wHva2yZNYZEwcqxTu98p67U5LwK7ReMHfTOt4Hc9mzz0ni\nNanCkiGyqYdRxkIHrcpwSgYarTUfSBZwRPkWOtqj1yq/bDR9olro9jYUbDQ9\n8mfn7gWGUkMNKwQ4Xd70WB9LFdQ5lEg6BJCICIY2ntXxOva5/f/w77U1CKQR\nDsyaqmgPScAgtbIPIfPkLa6nC90bJUtvam/AcNBePCHG4O5OY4gf8rMwKcFp\nRSfn/fTkVM5qGvjmK9CqfFXODRIz9YXcj1En7GK1pfOdBRfC2KJgmLNG/FAx\nYLsa/N7bR+O0dQL8ENNxVL2ye0hxug0fhuQfGWFwcN4ZbHvNhF0xcNKYEk2c\n7cyVb6aZWeZkuwgeIoBZr5fdg/qhAxYDEO0imBOPV/Ua2WFx5xoIfkvuapB4\na6YC\r\n=Aj6G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWKf5kFssO6Wbdc0YomsiVVGihFUr5DyBVVi1ImohBzQIgYSFF4NvPjc3clHh0ZYfDupF0cLin7rZfHcMI2dPcdr8="}]},"_npmUser":{"name":"d.benfouzari","email":"d.benfouzari@gmail.com"},"directories":{},"maintainers":[{"name":"d.benfouzari","email":"d.benfouzari@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-native-i18n_5.0.1_1621623357676_0.7492123521644332"},"_hasShrinkwrap":false}},"time":{"created":"2021-05-21T18:54:54.360Z","5.0.0":"2021-05-21T18:54:54.762Z","modified":"2022-04-05T03:17:03.058Z","5.0.1":"2021-05-21T18:55:58.066Z"},"maintainers":[{"name":"d.benfouzari","email":"d.benfouzari@gmail.com"}],"description":"Easy i18n for your react-native app","homepage":"https://github.com/dbenfouzari/packages/tree/master/packages/react-native-i18n#readme","keywords":["oclif"],"repository":{"type":"git","url":"git+https://github.com/dbenfouzari/packages.git","directory":"packages/react-native-i18n"},"author":{"name":"Donovan BENFOUZARI","email":"d.benfouzari@gmail.com"},"bugs":{"url":"https://github.com/dbenfouzari/packages/issues"},"license":"MIT","readme":"# @dbenfouzari/react-native-i18n\n\n```json5\n// src/i18n/dictionaries/en.json\n\n{\n  \"hello-world\": \"Hello, World!\",\n}\n```\n\n```json5\n// src/i18n/dictionaries/fr.json\n\n{\n  \"hello-world\": \"Salut à tous !\",\n}\n```\n\n```ts\n// src/i18n/index.ts\n\nimport I18n from \"@dbenfouzari/react-native-i18n\";\n\nimport en from \"./dictionaries/en.json\";\nimport fr from \"./dictionaries/fr.json\";\n\nconst dictionaries = { en, fr } as const;\n\nconst i18n = new I18n<typeof dictionaries>();\n\ni18n.configure({ dictionaries });\n\nexport default i18n;\n```\n\n```tsx\n// src/App.tsx\n\nimport React from \"react\";\nimport { Text, View } from \"react-native\";\n\nimport i18n from \"./i18n\";\n\nconst App = () => (\n  <View style={{ marginTop: 96 }}>\n    <Text>{i18n.t(\"hello-world\")}</Text>\n  </View>\n);\n\nexport default App;\n```\n\n- [@dbenfouzari/react-native-i18n](#dbenfouzarireact-native-i18n)\n- [Usage](#usage)\n- [Commands](#commands)\n\n## Installation\n\nInstall it with\n\n```shell script\n$ yarn add @dbenfouzari/react-native-i18n react-native-localize\n```\n\n## Configuration\n\nYou must configure this package to be able to use it.\n\nCreate a file :\n\n```typescript\nimport I18n from \"@dbenfouzari/react-native-i18n\";\n\nimport en from \"./dictionaries/en.json\";\nimport fr from \"./dictionaries/fr.json\";\n\nconst dictionaries = { en, fr } as const;\n\nconst i18n = new I18n<typeof dictionaries>();\n\ni18n.configure({ dictionaries });\n\nexport default i18n;\n```\n\n## Configuration options\n\nYou can pass some options to `i18n.configure` :\n\n| Option       | Description                                                                                                                                   | Required | Default                 |\n| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------- |\n| dictionaries | The dictionaries where your localizations are stored. Object key is the language code (en, fr, de) and the value is an object of translations | true     |                         |\n| locale       | The default locale. By default, we will search for the user preferred language.                                                               | false    | User preferred language |\n\n## Usage\n\nNow you can import your i18n and get your translation with\n\n```typescript\nimport i18n from \"./i18n\";\n\nconst myTranslatedKey = i18n.t(\"hello-world\"); // Hello, World!\n```\n\n## Variables\n\nYou can use variables in your translations like this :\n\n```json\n{\n  \"greetings\": \"Hi {{name}}\"\n}\n```\n\nAnd in your JavaScript :\n\n```tsx\nconst myTranslatedKey = i18n.t(\"greetings\", { name: \"John Doe\" });\n```\n\nYou will get `Hi John Doe`\n\n## API\n\n| Method                                                                               | Description                                        |\n| ------------------------------------------------------------------------------------ | -------------------------------------------------- |\n| configure(options: { dictionaries: T, locale: keyof T }) => void                     | Configuration method                               |\n| t(path: keyof T[keyof T] \\| string, variables?: { [key: string]: string }) => string | The method you will call to translate your strings |\n","readmeFilename":"README.md"}