Describe the problem
When using XCStringsToolPlugin across multiple Swift packages, setting accessLevel: public in just one package's xcstrings-tool-config.yml causes a conflict if other packages also generate a Localizable symbol (even with default internal access level).
The compiler reports:
'Localizable' is ambiguous for type lookup in this context
This happens because one module exports Localizable publicly, while others still generate the same symbol internally — leading to ambiguity when multiple modules are imported into the same target.
Steps to Reproduce
- Add
.xcstrings files to two Swift packages: PackageA and PackageB
- Set
accessLevel: public in PackageA’s config only
- Leave
PackageB with default or internal
- Import both packages into an app target
- Use
Localizable.someString