diff --git a/README.md b/README.md index 39dc8e41..b1bcf7e3 100644 --- a/README.md +++ b/README.md @@ -11,12 +11,12 @@ Please **do not** create a pull request to update translation. tooot's translati ## Special thanks -[@amrtf](https://crowdin.com/profile/amrtf) for Spanish translation - -[@pat](https://piaille.fr/@pat) for French translation +[@amrtf](https://crowdin.com/profile/amrtf) for Catalan and Spanish translation [@forenta](https://github.com/forenta) for German translation +[@pat](https://piaille.fr/@pat) for French translation + [@andrigamerita](https://github.com/andrigamerita) for Italian translation [@Hikaru](https://github.com/Hikali-47041) and [@la_la](https://mstdn.jp/@la_la_la) for Japanese translation diff --git a/ios/ca.lproj/InfoPlist.strings b/ios/ca.lproj/InfoPlist.strings new file mode 100644 index 00000000..873ce7f9 --- /dev/null +++ b/ios/ca.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +"NSPhotoLibraryAddUsageDescription" = "Permet que tooot desi imatges al carret de la càmera"; +"NSPhotoLibraryUsageDescription" = "Permet que tooot desi imatges al carret de la càmera"; diff --git a/ios/tooot.xcodeproj/project.pbxproj b/ios/tooot.xcodeproj/project.pbxproj index 9b5dde16..6d8698dd 100644 --- a/ios/tooot.xcodeproj/project.pbxproj +++ b/ios/tooot.xcodeproj/project.pbxproj @@ -84,6 +84,7 @@ E69EBACC28DF28420057EDEC /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist.strings; sourceTree = ""; }; E69EBACD28DF284D0057EDEC /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/InfoPlist.strings"; sourceTree = ""; }; E69EBACE28DF28560057EDEC /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist.strings; sourceTree = ""; }; + E6A4895D293C1F740047951A /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/InfoPlist.strings; sourceTree = ""; }; E6C8B26628F5F9FC0062CF2E /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; @@ -296,6 +297,7 @@ es, sv, nl, + ca, ); mainGroup = 83CBB9F61A601CBA00E9B192; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; @@ -527,6 +529,7 @@ E690AF692926B737002C38A8 /* es */, E63E7FF0292A828100C76FD4 /* sv */, E6217B7E293C1EBF00B1755E /* nl */, + E6A4895D293C1F740047951A /* ca */, ); name = InfoPlist.strings; sourceTree = ""; diff --git a/src/i18n/ca/index.ts b/src/i18n/ca/index.ts new file mode 100644 index 00000000..5f2a7a82 --- /dev/null +++ b/src/i18n/ca/index.ts @@ -0,0 +1,18 @@ +export default { + common: require('./common'), + + screens: require('./screens'), + screenActions: require('./screens/actions'), + screenAnnouncements: require('./screens/announcements'), + screenCompose: require('./screens/compose'), + screenImageViewer: require('./screens/imageViewer'), + screenTabs: require('./screens/tabs'), + + componentContextMenu: require('./components/contextMenu'), + componentEmojis: require('./components/emojis'), + componentInstance: require('./components/instance'), + componentMediaSelector: require('./components/mediaSelector'), + componentParse: require('./components/parse'), + componentRelationship: require('./components/relationship'), + componentTimeline: require('./components/timeline') +} diff --git a/src/i18n/i18n.ts b/src/i18n/i18n.ts index 2bb82932..d0b71546 100644 --- a/src/i18n/i18n.ts +++ b/src/i18n/i18n.ts @@ -1,6 +1,7 @@ import i18n from 'i18next' import { initReactI18next } from 'react-i18next' +import ca from '@root/i18n/ca' import de from '@root/i18n/de' import en from '@root/i18n/en' import es from '@root/i18n/es' @@ -19,6 +20,7 @@ import '@formatjs/intl-getcanonicallocales/polyfill' import '@formatjs/intl-locale/polyfill' import '@formatjs/intl-pluralrules/polyfill' +import '@formatjs/intl-pluralrules/locale-data/ca' import '@formatjs/intl-pluralrules/locale-data/de' import '@formatjs/intl-pluralrules/locale-data/en' import '@formatjs/intl-pluralrules/locale-data/es' @@ -33,6 +35,7 @@ import '@formatjs/intl-pluralrules/locale-data/vi' import '@formatjs/intl-pluralrules/locale-data/zh' import '@formatjs/intl-numberformat/polyfill' +import '@formatjs/intl-numberformat/locale-data/ca' import '@formatjs/intl-numberformat/locale-data/de' import '@formatjs/intl-numberformat/locale-data/en' import '@formatjs/intl-numberformat/locale-data/es' @@ -48,6 +51,7 @@ import '@formatjs/intl-numberformat/locale-data/zh-Hans' import '@formatjs/intl-numberformat/locale-data/zh-Hant' import '@formatjs/intl-datetimeformat/polyfill' +import '@formatjs/intl-datetimeformat/locale-data/ca' import '@formatjs/intl-datetimeformat/locale-data/de' import '@formatjs/intl-datetimeformat/locale-data/en' import '@formatjs/intl-datetimeformat/locale-data/es' @@ -64,6 +68,7 @@ import '@formatjs/intl-datetimeformat/locale-data/zh-Hant' import '@formatjs/intl-datetimeformat/add-all-tz' import '@formatjs/intl-relativetimeformat/polyfill' +import '@formatjs/intl-relativetimeformat/locale-data/ca' import '@formatjs/intl-relativetimeformat/locale-data/de' import '@formatjs/intl-relativetimeformat/locale-data/en' import '@formatjs/intl-relativetimeformat/locale-data/es' @@ -86,6 +91,7 @@ i18n.use(initReactI18next).init({ defaultNS: 'common', resources: { + ca, de, en, es, diff --git a/src/i18n/locales.ts b/src/i18n/locales.ts index 0e13587a..44ef48dc 100644 --- a/src/i18n/locales.ts +++ b/src/i18n/locales.ts @@ -1,4 +1,5 @@ const LOCALES = { + ca: 'Català', de: 'Deutsch', en: 'English', es: 'Español',